总结
数学运算符
- +加 , -减,*乘,/除,%取余,取模,//整除,**幂运算
- 加减乘除,和数学中的加减乘除功能一模一样
# print(10 + 2)
# print(5 / 2)
# print(5 // 2)
-
取余
1.判断一个数是否能被另外一个数整除
2.取一个数的低位数
# num = 235
# print(num % 10) # 5
# print(num % 100) # 35
-
整除
求商,商向小数取整
去掉低位数,保留高位数
# num = 23448 # print(num // 10) # 2344 # print(num // 100) # 234
-
幂运算
所有开方操作返回的都是小数
可求一个数的次方,或者一个数的开方
比较运算符
包括:== (等于) 、 !=(不等于) 、 >(大于) 、<(小于) 、 >=(大于等于) 、 <=(小于等于)
注意:所有的比较运算符的运算结果都是布尔类型
python中的比较运算符支持表示范围的连写方式
print(10 == 10)
print(10 != 10)
print(10 <= 10)
x = 0.7
print(0 <= x <= 1)
赋值运算符
包括:= , += , -= , *= , /= , %= , //= , **=
重要结论
- 所有的赋值运算符的功能 : 都是用来给变量赋值,没有计算结果
- 所有赋值运算符的左边都必须是变量
= : 变量 = 数据 , 将数据保存到变量中
+= , -= , *= , /= , %= , //= , **=
变量 += 数据 ,是先将变量中保存的数据取出来,和右边的数据进行加法运算,将计算结果重新赋值给变量
变量必须先保存
运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
数学运算符 : ** > *,/,%,// > +,-
有括号先算括号里面的
逻辑运算符
逻辑运算符 :and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
-
and :
- 应用场景:多个条件同时满足的时候,将多个条件用and连接,相当于并且
- 运算规则:两个条件都是True,结果才是True,否则结果是False
-
or :
- 应用场景:多个条件中只要有一个条件满足的时候,就使用or将多个条件连接在一起,相当于或者
- 运算规则:两个都是False,结果才是False,只要有一个是True,结果就是True
-
not :
-
应用场景:对某一个条件进行否定
-
运算规则:not True - False ;
not False - True
-
扩展
短路操作:
逻辑与的短路操作: 表达式1 and 表达式2 中,如果表达式1的结果False,那么表达式2对应的代码就不执行
逻辑或的短路操作: 表达式1 or 表达式2 中,如果表达式1结果是True,那么表达式2对应的代码不执
运算对象不是布尔值:
运算规则:
- 与运算:表达式1 and 表达式2 -
- 如果表达式1的布尔值是True,整个与运算的结果是表达式2;
- 如果表达式1的布尔值是False,整个与运算的结果是表达式1;
- 或运算:表达式1 or 表达式2 -
- 如果表达式1的布尔值是False,整个与运算的结果是表达式2;
- 如果表达式1的布尔值是True,整个与运算的结果是表达式1
- not 表达式
print(1 and 2) # 2
print(1 or 2) # 1
print(not 10) # False
print(not None) # True
-
补充:数据的布尔值
python中所有的数据都有布尔值,所有的零值和空值对应的布尔值是False,其他都是True;
零值和空值:0,’’,"",None
if的分支结构
流程控制
- 顺序结构 (默认) - 代码从上往下一条一条的执行,每条代码只执行一次
- 分支结构 - 根据条件去执行或者不执行某些代码
- 循环结构 - 让代码重复执行
if单分支结构 - 满足条件执行某个操作,条件不满足时,对应的操作不执行
age = 19
if age >= 18:
print('可以进网吧')
# ...
year = 1900
a = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
if a:
print('闰年')
else:
print('不是闰年')
if双分支结构 - 满足条件执行某个操作,不满足时执行另外的操作
num = 28
# if num % 2 != 0:
# print('奇数')
# else:
# print('偶数')
if num % 2:
print('奇数') # 奇数对2取余是1,1是True,就打印'奇数'
else:
print('偶数')
if多分支结构 - 根据不同的条件执行不同的操作(条件之间:其中一个条件满足了,另外的条件绝对不会满足)
age = 27
if age <= 3:
print('儿童')
elif age <= 17:
print('少年')
elif age <= 28:
print('青年')
elif age <= 39:
print('壮年')
elif age <= 59:
print('中年')
else:
print('老年')
作业
选择题
1.B
2.A
3.D
4.A
5.C D
6.A
7.D
填空题
- type()
- True
- 9
- 9,6,2
编程题
- 写出判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。
num = 34
a = num % 2 == 0
b = num % 5 == 0
print(a and b) # False
-
写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应
的结果。
num = 30 a = num % 2 == 0 b = num % 5 == 0 c = num % 10 != 0 if (a or b) and c: print('True')
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX
时XX分XX秒’的⽅式表示出来。
time = 15678 hour = time // 3600 minute = (time - hour*3600) // 60 second = (time - hour*3600) % 60 print(hour,'时',minute,'分',second,'秒') # 4时21分18秒
-
定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!
公式: 体重(kg) / (身⾼(m)的平⽅值 ) 在18.5 ~ 24.9之间属于正常
height = 1.8 weight = 70 if 18.5 < weight / height ** 2 < 24.9: print('True') else: print('False')
-
根据输入的成绩范围打印及格或者不及格
score = 75 if score <= 59: print('不及格') else: print('及格')
-
根据输入的年纪范围打印
成年
或者未成年
,如果年龄不在正常范围内(0~150)打印`这不是人!age = 150 if 0 <= age <= 17: print('未成年') elif 18 <= age <= 150: print('成年') else: print('这不是人')
-
输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息
a-b的结果不是奇数
。a = 5 b = 4 c = a - b if c % 2: print(c) else: print('结果不是奇数')