一、运算符
1、数学运算符
- +、-、*、/ —— 在python中,运算功能同数学运算一样;
- %(取余) —— 求余数
- 应用场景一:判读整除关系(判断一个数是否能够被另一个数整除 — 判断这两个数的余数是否为零);
- 理论基础:数学结论,如果一个数能被另一个数整除,余数一定为零;
- 应用场景二:取整数的低位数 — 让指定的数对 10 或者 10 的n次方进行取余操作;
- 应用场景一:判读整除关系(判断一个数是否能够被另一个数整除 — 判断这两个数的余数是否为零);
实例
print(90 % 3 ) # 0
num = 100
print(num % 10 ) #取到个位数
print(num % 100 ) #取到十位数
- // (整除) —— 求商,商向小取整(结果相邻整数小的一个,负数同理,并不仅仅是消除小数点;
- 应用场景一:计算一个数字中有多少个完整的另一个数;
- 应用场景二:去掉整数的低位数,保留高位数;
实例
print(5 // 2 ) # 2
print(5 // -2) # -3
num = 7879
print(num // 10) # 789
num = 72923
print(num // 10 % 10) # 2 ( 获取num的十位数 )
- ** (幂运算) —— 求某一个数的N次方
实例
print(4 ** 2) # 16.0
print(16 ** 0.5) # 4.0
print(8 ** (1/3)) # 2.0
print(4 ** -1 ) # 0.25
支持所有数学运算
2、比较运算符
符号:> , < , >= , <= , == , !=
- 所有比较运算符的运算结果都是布尔值;
- python中的比较运算符支持连写表示范围;
实例
print(10 == 10) # True
print(10 >= 10) # True
print(10 != 10) # False
x = 2
print(1 <= x <= 10) # True
3、逻辑运算符
类型:and 、or 、not
- and(逻辑与运算)
- 应用场景:用来连接要求同时成立两个条件,相当于生活中的并且;
- 运算规则:两个条件同时成立则为 True,反之则为 False;
- 运算结果为布尔值;
**案例1:**判断一个数是否能同时被 3 和 7 整除;
num = 21
print(num % 3 == 0 and num % 7 == 0) # True
**案例2:**判断一个数是否是个位数能够被 3 整除;
num = 153
print(num % 10 % 3 == 0) # True
- or(逻辑或运算)
- 应用场景:如果要求两个条件中,有一个条件就行,用 or 来对两个条件进行连接,相当于生活中的 ”或者 “
- 运算规则:满足一个条件成立则为 True ,反之则为 False
**案例1:**判断一个数是否能够被 3 或者 7 整除
num = 9
print(num % 3 == 0 or num % 7 == 0) # True
**案例1:**判断year对应的年份是否为闰年
year = 2008
print(year % 400 == 0 or (year % 4 == 0 and year % 100 != 0)) # True
注意:逻辑运算可以放到同意运算类型下,依据题目要求选择相对应的运算类型;
- not(逻辑非)
- 应用场景:对条件进行否定的时候使用,相当于生活中的”不“;
- 运算规则:not 条件 — 对某一个条件进行否定(前 + not);
**案例1:**判断 age 对应的值是否不大于 18 ;
age = 38
print( not age > 18 ) # False
**案例2:**判断一个数是否不能同时被 3 和 7 整除;
sum = 23
print(not (num % 3 == 0 and num % 7 == 0 ))
print(num % 21 == 0 ) # False
注意:此类命题中,注意审题,对应用条件的判断要清晰,才能写出正确的代码;
4、赋值运算符
符号 : = ,+= ,-= ,***= ,/= ,%= ,//= ,****=
注意:不管是什么样的赋值运算符,最终都是为了将一个数据保存到一个变量中;
- =
- 变量名 = 数据 — 直接将指定数据保存到指定的变量中;
前面的变量名可以是么有定义过变量的变量名,也可以是定义过的,后定义变量名的数据覆盖之前定义过的数据;
- +=
- 变量名 += 数据 — 将变量中保存的数据取出来,和后面的数据进行加法运算,再将运算结果保存到前面的变量中
这的变量必须是已经赋值过的或者已经定义过的变量
5、运算符的优先级
python中不同的运算符的优先级不同,优先级高的运算符先算;
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
- 数学运算符:** > * 、/、%、// > + 、-
- 逻辑运算符:and > or
- 有括号先算括号里面的
6、流程控制
通过代码控制程序执行过程;
- 根据代码执行过程的不同,可以将代码分成三种结构:
- 顺序结构(默认) :代码从上往下一条一条执行,
- 分支结构( if 分支结构 ) :根据条件选择执行或者不执行相关代码;
- 循环结构( for、while) :代码写一遍,重复执行多次;
实例
age = 35
if age >= 19:
print('成年')
else:
print('未成年') # 成年
7、if分支结构
- if 单支结构:如果XXX就XXX;
- 条件成立执行某个操作,条件不成立这个操作就不执行
语法:
if 条件语句 :
代码块
语法机构说明
if — 关键字,固定写法
条件语句 — 可以是任何有结果的表达式,一般是判断语句
: — 固定写法(英文输入法)代码块 — 结构上,是和 if 保持一个缩进的一条或者多条语句(至少一条;缩进一 般是 tab 键或者 4 个空格)
逻辑上,代码块就是需要满足条件才执行的代码
**案例1:**如果一个数是偶数,就在控制台打印”偶数’’
num = 78
if num % 2 == 0:
print('偶数') # 偶数
**案例2:**根据 score 的值在控制台打印“及格”
score = 88
if score > 60:
print('及格') # 及格
- if 双分支结构:如果XXX就XXX否则就XXX
- 条件成立执行某个操作,条件不成立执行另外一个操作;
语法:
if 条件语句 :
代码块1(条件成立时执行的代码)
else :
代码块2(条件不成立时执行的代码)代码块3(不管代码成立与否,都会执行) 关键在于是否有缩进情况
实例
num = 41
if num % 2 == 0:
print('偶数')
else:
print('奇数') # 奇数
score = 45
if score >= 60:
print('及格')
else:
print('不及格') # 不及格
- if 多分支结构:如果XXX就XXX,,如果XXX就XXX,如果XXX就XXX,、、、、
- 根据不同的条件做不同的事情
语法:
if 条件1 :
代码块1
elif 条件2 :
代码块 2
、、、
else :
代码块 N执行过程:先判断条件1 是否成立,如果成立直接执行代码块1 ,然后整个分支结构结束;如果条件1不成立才去判断条件2 是否成立,成立执行代码块2 ,然后分支结构结束,依此类推;如果前面的条件都不成立,才会执行 else 后面的代码块;
总结:后面的条件是在前面的条件不成立的情况下进行判断的;elif 执行到条件成立的一步,才结束执行过程;elif 根据情况可以有多个,else 可有可无,有,就放最后;
**案例:**根据学生score 的值打印学生的等级;
a = input('输入考试成绩:')
score = int(a)
if score >= 90:
print('A')
elif score >= 80;
print('B')
elif score >= 60:
print('C')
else:
print('D')