总结
数学运算符
-
运算符
-
在Python中常用的运算符: 数学运算符,比较运算符,逻辑运算符,赋值运算符
-
数学运算符: +(加),-(减),*(乘),/(除),%(取余,取模),//(整除),**(幂运算)
-
- +.-../ - 和数学中的+.-./. 的功能一样
-
- % - 求余数
-
x % y - 求x除以y的余数
-
应用1 : 判断一个数是否能被另外一个数整除
-
print(5 % 2) print(9 % 3)
-
应用2 : 去一个数的低位数
-
num = 232 print(num % 10) #2 print(num % 100) #32
-
- // - 整数 (求商,商向下取整)
-
print(9.3 // 3) # 3.0 print(-5 // 2) # -3 (-2,-2.5,-3)(向小取整)
-
应用1: 去掉低位数保留高位数
-
num = 23448 print(num // 10) # 2344 print(num // 100) #234
-
- ** - 幂运算
-
x ** y - 求x的y次方
print(2 ** 3) # 8 print(9 ** 2) # 81 print(81 ** 0.5) # 9.0 (81开2次方 print(8 ** (1/3)) # 2.0 (8开3次方
-
-
-
比较运算符: ==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)
所有的比较运算符的运算结果都是布尔
Python中的比较运算符支持表示范围的连写方式 (别的语言不支持)
-
逻辑运算符: and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
-
and:全真才是真,有假就是假。
or:有真就是真,全假才是假。
not:假就是真,真就是假。 -
- and - 逻辑与运算
-
- 应用场景:要求多个条件同时满足的时候就将多个条件用and链接,相当于生活中的并且。
-
2)运算符规则:两个都是True结果才是True,否则结果为False。
True and True - True
True and False - False
False and True - False
False and False - False
-
- or - 逻辑或运算
- 1)应用场景:多个条件中,只要有一个条件满足的时候就使用or将多个条件连接在一起,相当于生活中的或者
-
- 运算规则:两个都是False结果才是False,只要有一个是True,结果就是True.
True and True - True
True and False - True
False and True - True
False and False - False
-
- 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 and 表达式2 - 如果表达式1的布尔值是False,整个与运算的结果是表达式2;
如果表达式1的布尔值是True,整个与运算的结果是表达式1 -
not表达式:
print(7 and 8) # 8 print(7 or 8) # 7 print(not 10) # False print(not None) # True
-
- 补充: 数据的布尔值(非常重要)
- Python中左右的数据都有布尔值,所有的零值和空值对应的布尔值是False,其他的都是True
- 零值和空值: 0 , 0.0 , 0.00 , ‘’ , “” ,
-
-
赋值运算符: = , += , -= , /= , %= , //= , **=
-
- 所有的赋值运算都是用来给变量赋值,没有计算结果.(所有的赋值运算都没有结果)
-
- 所有赋值运算符的左边都必须是变量 ( 89 = 89 # 错误 )
-
1.) =
-
变量 = 数据 (将数据保存到变量中)
-
a = 10 # print(a = 10) # 报错
2.) += , -= , /= , %= , //= , **=
-
变量 += 数据 (先将变量重罚保存的数据取出来,和右边的数据进行运算,将计算结果重新赋值给变量)
-
注意: 此处的变量必须先赋值
-
# b += 3 - # 错误(b没有赋值) b = 5 b += 3 print(b) # 8 b /= 2 print(b) # 4.0 b **= 3 print(b) # 64.0
-
-
运算符的优先级
-
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低优先级)
-
- ** > *, / , % , // > + , -
-
- 有括号先算括号里面的
-
a = (10 + 20 )* 3 > 5 and 7 - 8 > 9
-
-
-
-
if语句分支结构
-
- 流程控制
- 顺序结构(默认) - 代码从上往下一条一条的执行,没调代码只会执行一次
- 分支结构 - 根据条件去执行或者不执行某些代码
- 循环结构 - 让代码重复执行
- 分支结构 - if语句
-
1). if单分支结构 - 满足条件执行某个操作,条件不满嘴的时候对应的操作不执行
''' 语法: if 条件语句: 代码段 '''
-
说明:
-
if - 关键字,固定写法
-
条件语句 - 任何有结果的表达式,(除了赋值语句意外的表达式),比如:数据 ,已经赋值过的变量 , 运算表达式,函数调用表达式
-
: - 固定写法(注意输入法)
-
代码段 - 和if保持一个缩进的一条或者多条语句,(满足条件才会执行的代码)
-
执行过程 - 先判断条件语句的结果是否为True,如果是True就执行代码段,否则代码段不执行
-
age = 19 if age >= 18: print('可以进网吧')
-
-
- if双分支结构 - 满足条件执行某个操作,条件不满足的时候执行另一个操作
-
''' 语法: if 条件语句: 代码段1 (条件满足时要执行的代码) else: 代码段2 (条件不满足时要执行的代码) '''
# 如果指定的数字是奇数,就打印奇数.否则打印偶数 num = 5 if num % 2 == 0: print('偶数') else: print('奇数')
-
- if多分支结构 - 根据不同的条件执行不同的操作,(条件之间满足:其中一个条件满足了,另外的条件绝对不会满足)
-
''' 语法: if 条件语句1: 代码段1 elif 条件语句2: 代码段2 elif 条件语句3: 代码段3 ... else: 代码段N '''
-
# 根据年领值的范围,打印人生阶段 # 0~3 儿童 4~17 少年 18~28 青年 29~39 壮年 40~59 中年 60及以上 老年 if 0 <= age <= 3: print('儿童') elif age <= 17: print('少年') elif age <= 28: print('青年') elif age <= 39: print('壮年') elif age <= 59: print('中年') else: print('老年')
-
(拓展)
- 满足一个条件,另外一个条件也会满足的情况下,就多写几个if单分支结构
-
作业
选择题
1 B
2 A
3 B
4 A
5 C D
6 A
7 D
填空题
1 type()
2 True
3 9
4 9 6 2
编程题
-
写出判断一个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。
num = 50 a = (num % 2 == 0) b = (num % 5 == 0) c = (num % 10 == 0) print(a and b) print(c)
-
写出判断一个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应
的结果。
num = 50 a = (num % 2 == 0) b = (num % 5 == 0) c = (num % 10 == 0) print((a or b) and c)
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX
时XX分XX秒’的⽅式表示出来。
例如:100秒表示成 0时1分40****秒
time = 15678 H = time // 3600 M = (time - (H * 3600 )) // 60 S = time - ((M * 60) + (H * 3600)) print('用时', H, '小时', M, '分', S, ' 秒')
-
定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!
公式: 体重(kg) / (身⾼(m)的平⽅值 ) 在18.5 ~ 24.9之间属于正常。
输出格式: 是否正常:True/False
kg = 70 m = 1.8 num = kg / m ** 2 if 18.5 <= num <= 24.9: print('正常') else: print('不正常')
-
根据输⼊的成绩的范围打印 及格 或者 不及格
score = 80 if score >= 60: print('及格') else: print('不及格')
-
根据输⼊的年纪范围打印 成年 或者 未成年 ,如果年龄不在正常范围内(0~150)打印 这不是⼈! 。
age = int(input('请输入年龄')) if age < 18: print('未成年') elif age < 150: print('成年') else : print('这不是人')
-
输⼊两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息 a-b的结果不是奇
数 。
a = int(input('输入数字1')) b = int(input('输入数字2')) if (a - b) % 2 == 1: print(a - b) else: print('a-b的结果不是奇数')