题外话:
7:45达到实验室,先冲杯豆浆,背一会英语单词,再复习一下昨天学习的内容,冲!,下午的安排是打羽毛球,洗澡,洗衣服。
7:55-8:10 一页单词背完,背了30个单词。
复习完毕 8:23 开始学习python
一、位运算符
思想:实际的运算规则就是先把数变成二进制再进行计算
1.1.1 与&运算:同为1,结果才为1
这里的与符号,是数字7的键,同时按下Shift+7就可以了。
例如:4的二进制为:100 但是补全后就是0000 0100
8的二进制为:1000 补全为 00001000
结果为0
看程序:
1.1.2或运算:同为0,才是0
这里或的运算标志是 Enter上面的那个键,再同时按下Shift键,就会出现
例如:还是拿4和8举例子
直接看程序:
1.1.3左移位运算符 <<
核心思想 还是先变成2进制的,再高位溢出,低位补0 相当于*2
那么程序怎么写?
print(4 << 1) print(4<< 2)
第一个代表左移一位 第二个代表左移两位
1.1.4右移位运算符 >>
核心思想 还是先变成2进制的,再高位补0,低位截取,相当于/2
print(4>>1) print(4>>2)
左移和右移的最后程序截图:
2.1 运算符的优先级
1.算术运算 先乘除后加减 有幂运算先算幂
2.位运算 << >> & | (由左到右顺序)
3.比较运算 < > >= <= != == 结果为bool
4.bool 运算 and or
5.赋值运算符 =
括号优先级最高,耳熟能详的 有括号先算括号里的
二、程序的组织结构
2.1顺序结构:
无任何判断和跳转,依次向下
类似于程序下图
2.1.2 对象的布尔值
False: 有False None 0 空列表[]、list[] 空集合set() 空元组()\tuple() 空字典{}、dic() 、空字符串''
print(bool(False)) print(bool(0)) print(bool(None)) print(bool('')) print(bool([])) print(bool(list())) print(bool(())) print(bool(tuple())) print(bool({})) print(bool(dict())) print(bool(set()))
其他对象的布尔值均为 True
2.2分支结构
2.2.1 单分支结构
典型的就是if 语句,如果满足条件就会执行,if 语句记得加个:,
例如取钱的程序
money=20000
s= input(’请输入金额:')
if s<money
money=money-s
print("取款成功,还剩余额:’,money)
但这么逻辑没问题,输入是错误的,原因在于,你后面做减法,input是字符串类型,怎么能够相减呢?所以你需要int()化就可以了。
完成程序如图,记得缩进和加:
money = 5000 s=int( input('请输入取款金额:')) if s<money: money=money-s print('取款成功,余额充足还剩:',money)
刚刚弄了下 学校活动的事情。耽误了15mins
2.2.2双分支结构
语法结构
if 条件表达式:
条件执行体1
else:
条件执行体2
值得注意的是:这两个后面都需要接一个:还有缩进是一个值得注意的问题
例如:程序如图所示:
这里面还有一个值得注意的是:取余数为0 用的是a%math==0
2.2.3 多分支结构
语法结构是
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
elif条件表达式N
跟双分支有些类似,就是多了很多条件,需要用elif来实现。这里我拿学校的简易版成绩来做一个解释说明。
score= int(input('请输入你的成绩:')) if score<=100 and score>=90: print('A级') elif score<= 89 and score >=80: print('B级') else: print('不是有效成绩')
其实还能往下写C D E F,但为了节约时间,也确实会了,就没写。
最后用else来实现。成绩这个东西而且还是input所以是str类型的,所以要int化。
还是要记得加:,和缩进。然后多分枝用elif。 and是与运算。
程序截图:
2.2.4 嵌套结构
形式如下: if 条件表达式1:
if 内层条件表达式:
内层执行体1
else:
内层执行体2
else:
条件执行体
红色为外层 蓝色为内层。
这里我们举个例子,关于超市的会员与非会员,一个打折的问题
--------中午十一点十五去吃得饭,等到11:50才吃上饭-睡醒已是两点,下次不睡了呜呜--------
两点10分到实验室,就为了比课程中的例子代码要新颖点,结果调试了20mins终于成功了。
上程序截图:
我再修改一哈哦
这就好看了,我们再看一看课程中的
当然老师讲的是为了更大家明白嵌套,我只是美化了一点,如果让老师来美化的话,会更厉害多了。
对于嵌套,有两点吧 1.一定要紧跟思路,别乱了。
2.用elif来写。这个例子很好。
对于这个例子。额外注意的是,input类型是字符,
所以在程序上用单引号或者双引号输入都可以。
如果做什么加减乘除法就int()化。
注意的是,其实这里我就很疑惑,为什么是==,后来查了kimi,我才知道
if else 是这样的,如果为true,就执行if里面的语序,如果是False,则跳出来执行else
所以==是为了让程序觉得是对的,比较操作符,一看你输入的结果,和我程序里的想法是一样的都是y,那么就是执行if里面的程序。
2.2.5 条件表达式
----时间到了 15:14 去打羽毛球了 一周得运动一次哇,接着洗衣服,晚上不出去吃饭的话,就继续回来学习。我先把这个笔记发布了吧。