1.20学习总结
运算符和分支结构
-
数学运算符:+,-, *, /, %, **,//
"加减乘除"与数学中的运算基本一致;
%:是对一个数进行取余(模)的运算
print(15 % 3) #使用15对3进行取余运算
**:表示对一个数的多少次方
print(3 **3) #打印输出3的3次方:27
//:表示对一个数进行整除
num = 25 print(num //10)
-
比较运算符:==,!=,<,>,<=,>= 注意:结果只能是布尔值,python中支持直接形式的不等式,在C,Java中不支持
age = 12 print(8 <= age <= 20) print(5 < age < 10)
-
逻辑运算符:and(逻辑与),or(逻辑或),not(逻辑非)
1)and: and前后表达式为真,整个结果才为真,若有一个为假,则整个式子为假
#练习:写出判断指定的数是否能同时被3和7整除的条件 num = 21 print(num, '是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
2)or: or前后表达式只要有一个为真,整个式子结果为真,两个都为假,其结果为假
#写出判断一个数是否能够被3或者7或者5整除的条件。 num = 11 print(num, '是否能够被3或者7或者5整除:', num % 3 == 0 or num % 5 == 0 or num % 7 == 0)
3)not: 逻辑非运算,可直接将not放置表达式前,完成对表达式结果的取反。通常正向条件较多时,在相对容易的“反向条件”前,加上not,简化语句
-
逻辑运算符的扩展
1)必须掌握的地方
# 数据的布尔测试:python中的任何类型的数据都可以转换为布尔数据 # 规则:任何为零或者为空的值都会转换为False,其他都为True。 # ''-- False, ""--False, None--False
2)短路运算
# 短路操作: # 逻辑与运算的:如果第一个F,则后面的判断条件不会执行 # 逻辑或运算:如果第一个为T,则后面的判断不会执行
3)运算
# 对象不是布尔值的: # 数据1 and 数据2(如果数据1的值是True,表达式的值就是数据2; # 如果数据1为F,那结果就是数据1) print(None and 'abc') # None print(False and 123) # False print(1 and 8) # 8 # 数据1 or 数据2 (如果数据1的值是True,表达式的值就是数据1; # 如果数据1为F,那结果就是数据2) print(1 or 8) # 1 print(False or 856) # 856 # not 数据1(数据1为T,结果F;数据1为F,结果为T) print(not 100) # False print(not 'sad') # False print(not "") # True print(not " ") # False
-
赋值运算符
# 赋值运算符:=,+=,-=,*=,/=,%=,//=,**= # 赋值运算符的作用是给变量赋值,不会产生结果(数据) print(5 + 5) print(5 == 5) print(5 and 5) # print(a = 10) #报错 # +=,-=,*=,/=,%=,//=,**= # (变量 += 数据)======(变量 = 变量 + 数据) # (a += 8)======(a = a + 8) num = 123 num += 466 print(num) # 589 # 练习 num = 100 num += 10 # num = num + 10 -> num = 100 + 10 -> num = 110 print(num) # 110 num -= 20 print(num) # 90 num *= 2 print(num) # 180 num %= 3 print(num) # 0
-
运算符的优先级顺序
# 从高到低: # 数学运算 > 比较运算符 > 逻辑运算符 > 赋值运算 # 数学运算符:** > *,/,%,// > +,- # 有括号先算括号(只有小括号!!) # (a = 3) + 10 #错误
-
流程控制
# 1.顺序结构 # 2.选择结构(if) # 3.循环结构(for,while) # if: # 1).if单分支结构 """ if 条件语句: 代码段 说明: 条件语句(任何有结果的表达式,不能是赋值语句) 冒号 - 固定写法,不能省 代码段 - 和if是保持一个缩进(归属该if的代码)的一条或多条语句, 满足条件才能执行。 """ age = 10 if age >= 18: print('可以进网吧') print('可以吸烟') # 练习:如果指定的数是偶数就打印'偶数',否则不打印 num = 10 if num % 2 == 0: print(num) # 练习2 num = int(input('请输入一个数:')) # 通过input输入的数据类型都是str,之后可能进行类型转换(int(数据),float(数据)) if num % 2 == 0: print(num) # 练习3:如果输入的年份是闰年,就打印'闰年', 否则不打印 year = int(input('请输入年份:')) if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): print('这个年份是闰年', year) # 2).if双分支结构: if - else """ 语法: if 条件语句: 代码段1 else: 代码段2 """ # 练习1:根据输入的数字的性质,打印'奇数'或者'偶数' num = int(input('请输入一个数:')) if num % 2 == 0: print('这个数是偶数:', num) else: print('这个数是奇数:', num) # 方法2 if num % 2: print('奇数') else: print('偶数') # 方法3 if not num % 2: print('偶数') else: print('奇数') # 拓展 str1 = '' if str1: print('不是空串') else: print('是空串') # 练习2 num = int(input('请输入一个三位数:')) left = num // 100 right = num % 10 if left == right: print('回文数') else: print('不是回文数')