第二天总结
运算符
1. 数学运算符:+、-、*、/、%(取余、取模) 、//(整除)、**(幂运算)
1.1取个位数:对10取余
例如:
num = 8925
print('num % 10')
结果等于:5
1.2整除和取余
对后面两位取余:
例如
num = 8925
print('num % 100')
结果等于:25
1.3提取数字8925中的9:
例如:
num = 8925
num = 8925 // 100 % 10
print(num)
结果为:9
取值就是去掉低位数取高位数
1.4. 幂运算:
3.1 打印2*2
print(2**2) # 为2的2次方
结果为:4
2. 比较运算符
比较运算符:==、!=、>、<、>=、<=
比较运算符的结果都是布尔值
可以通过连写来表示取值范围
例如:
age = 15 10 <= age <= 20
3.逻辑运算符(结果是布尔值)
- and(逻辑“与”运算)、or(逻辑“或”运算)、not(逻辑“非”运算)
逻辑and(与)运算示例:
练习:写出判断指定的数是否能同时被3和7整除的条件
num = 21
print(num, '是否能够同时被3和7整除:',num % 3 == 0 and num % 7 == 0)
逻辑or(或)运算示例:
写出判断一个数是否能够被3或者7或者5整除的条件。
num = 17
print(num % 3 == 0 or num % 7 == 0)
逻辑not(非运算)示例
不能被4和6同时求余等于1的条件
num = 27 print(not num % 4 == 1 and num % 6 == 1)
4. 赋值运算符:= += -= *= /= //= **=
结论:赋值运算符的作用是给变量赋值,不会产生结果(数据)
形式:变量 += 数据
变量必须经过赋值
例如:
num = 10 num += 100 print('num') 结果为:110 num *= 2 print('num') 结果为:220
5. 运算符优先等级
- 运算符从高到低依次为:数学预运算>比较运算>逻辑运算>赋值运算
- 数学运算符优先级:** > *、 /、 %、 // > + -
3.由括号先算括号里面的(只有小括号)
6. 逻辑运算符扩展
1.短路操作
1.1 逻辑“与”运算的短路操作:第一个条件False,第二个就不执行(第一个True就继续执行下一个)
例如:
False and print('条件一') 结果为:false
1.2逻辑“或“运算的短路操作:如果第一个是True,那么第二个不执行(第一个False就继续执行第二个)
例如:
True and print('条件二') 结果为:不报错,执行无结果
- 数据的布尔测试(掌握)
- Python任何类型的数据都可以转换成布尔
- 转换规则:任何为零为空的值都会转换成False,其他的都是True
- 空串:‘’ ->False None
- bool(数据)获取指定数据的布尔值
例如:
print(bool(None)) 结果为:False print(bool(157)) 结果为:True
3.运算对像如果不是布尔值:
3.1 在Ptython中:任何数据都可以作为逻辑运算对象
3.2数据1and数据2 如果数据1的布尔值是True那么结果就是数据二 ;如果数据1的布尔值是false,那么结果就是数据1
例如:
print(0 and 10) # 0 print(1 and 2) # 2 print(-3 and 9) # 9 print(None and 'abc') # None print(False and 100) # False
3.3数据1 or 数据2 如果数据1的布尔值是True那么结果就是数据1 ;如果数据1的布尔值是false,那么结果就是数据2
例如:
print(0 or 10) # 10 print(1 or 2) # 1 print(-3 or 9) # -3 print(None or 'abc') # abc print(False or 100) # 100
7. 流程控制指的是控制程序的执行程序:
- 顺序结构(默认):代码从上往下的顺序执行
- 选择结构(分支结构):根据条件执行某个操作
- 循环结构:让代码重复执行。(for循环、while循环)
7.1.if单分支:
语法:
if 条件语句:
代码段
说明:
if 关键字,固定写法
条件语句 :任何有结果的表达式(不能是赋值语句)
冒号:固定写法
代码段 : 和if保持缩进的一条或者多条语句;满足条件才会执行的代码
注意:通过input输入的类型是字符串。
执行过程:先判断条件语句的布尔值是否为True,如果是就执行,不是就不执行
例如:
num = 9 if num % 2 == 0: print('偶数') 不满足条件不执行
例二:判断输入年份是否为闰年:
year = i(nt(input(‘请输入年份:’))
if ((year % 4 == 0 and year % 100!= 0) or year % 400 == 0):
print(‘闰年’)
7.2 if 双分支结构
解决问题:满足条件执行某个条件,不满足条件执行另外一个操作
语法:
if 条件语句:
代码段1
else:
代码段2
执行过程:先判断条件语句布尔值是否为True
例如:
num = int(input('请输入数字')) if num % 2 == 0: print('偶数') else: print('奇数')
回文数:
num = 213 if num % 10 == num // 100: print('是回文数') else: print('不是回文数')