学习Python Day2 ——运算符与分支结构
运算符
python中的运算符通常分为:数学运算符、比较运算符、逻辑运算符、赋值运算符以及位运算符。
数学运算符
数学运算符有:+(加法运算)、-(减法运算)、*(乘法运算)、/(除法运算)、%(取余)、
//(整除)、**(幂运算)
其中+、-、*、/ 是生活中比较常见的运算,相信大家也都会运用,再次就不一一说明了。
% —— 取余、取模(数学中的求余数)
a = 10 % 3
print(a) # 结果为1
在python中取余一般用来判断一个数是否能够被另一个数整除
num = int(input("请输入一个整数:"))
result = num % 3
if result == 0:
print("能被3整除")
else:
print("不能被3整除")
也可以用来取整数的低位数
print(5845 % 100) # 45
print(21 % 10) # 1
// —— 整除(商取整)
x // y —— x 除以 y 的商向小取整
print(5 // 2) # 2
print(-5 // 2) # -3
在python中可以应用于去掉低位数
num = 23562
print(num // 100) # 235
** —— 幂运算
x ** y —— 求 x 的 y 次方
print(2 ** 3) # 8
print(3 ** 3) # 27
# 如果次方数是 1/n 表示开 n 次方
print(4 ** 0.5) # 2.0
print(8 ** (1 / 3)) # 2.0
比较运算符
比较运算符有:> 、<、 >=、 <=、 ==、 !=
所有的比较运算符的运算结构都是布尔值:True 、False
逻辑运算符
逻辑运算符:and(逻辑与) 、or(逻辑或)、not(逻辑非)
"""
and - 逻辑与
相当于并”并且“,当需要多个条件同时满足的时候使用
运算规则:都是True结果就是True,只要有一个是False结果就是False
True and True -> True
True and False -> False
False and False -> False
"""
"""
or - 逻辑或运算
应用场景:相当于“或者”,需要多个条件中只要有一个条件满足的时候使用
运算规则:都是False结果才是False,只要有一个是True结果就是True
True or True -> True
True or False -> True
False or False -> False
"""
"""
not - 逻辑非
应用场景:对某一个条件进行否定
运算规则:True 变 False,False 变 True
not True -> False
not False -> True
是么时候用not:如果一个条件正向写很麻烦,但是反向写很简单,就反向写条件然后加not
"""
运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
数学运算符:** > * 、/ 、 % 、 // > +、-
逻辑运算符:and > or
注:如果有括号就先算括号里面的内容
位运算
位运算:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、>>(右移)、<<(左移)
位运算的运算效率比一般的运算符都要高,高出几十倍到几百倍
运算符 & 可以用来判断整数的奇偶性
# 数字对1进行按位与运算,如果结果是1就是奇数,结果是0就是偶数
print(28 & 1,32 & 1,102 & 1,-32 & 1) # 0 0 0 0
print(11 & 1,9 & 1,-23 & 1,1005 & 1) # 1 1 1 1
运算符 <<、>>
# 数字 << N - 快速乘 2**N
# 数字 >> N - 快速整除 2**N
# 数字 << 1 - 快速乘2:数字*2
# 数字 >> 1 - 快速整除2:数字//2
print(4 << 1, 5 << 1, 5 << 2) # 8 10 20
print(4 >> 1, 5 >> 1, -5 >> 1) # 2 2 -3
分支结构(if)
简单的来说python的分支结构就是 if 语句,根据条件选择性的执行代码。
执行过程:
先判断条件语句1是否为True,如果是直接执行代码块,然后整个if结构直接结束;
如果不为True,就判断条件语句2是否为True,如果是就执行代码块2,然后整个if结束;
如果不为True,就岸段条件语句3是否为True,…
以此类推,如果前面的条件语句都不满足就执行else后面的代码块
grade = int(input("请输入绩点:"))
if grade > 4:
print("一等奖学金")
elif grade >= 3.5:
print("二等奖学金")
elif grade >= 3:
print("三等奖学金")
elif grade >= 2.5:
print("四等奖学金")
else:
print("没有奖学金")