运算符
- 算数运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 1 + 1 输出结果为 2 |
- | 减 | 1-1 输出结果为 0 |
* | 乘 | 2 * 2 输出结果为 4 |
/ | 除 | 10 / 2 输出结果为 5 |
// | 整除 | 9 // 4 输出结果为2 |
% | 取余 | 9 % 4 输出结果为 1 |
** | 指数 | 2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2 |
() | 小括号 | 小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9 |
a, b = 10, 3
print(a + b)
print(a - b)
print(a * b)
print(a / b) # 3.3333333333333335
print(a // b) # 3
print(a % b) # 1
print(a ** b) # 1000
print((a + b)*b)
混合运算优先级顺序:()
高于 **
高于 *
/
//
%
高于 +
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值 | 将= 右侧的结果赋值给等号左侧的变量 |
+= | 加法赋值运算符 | c += a 等价于 c = c + a |
-= | 减法赋值运算符 | c -= a 等价于 c = c- a |
*= | 乘法赋值运算符 | c *= a 等价于 c = c * a |
/= | 除法赋值运算符 | c /= a 等价于 c = c / a |
//= | 整除赋值运算符 | c //= a 等价于 c = c // a |
%= | 取余赋值运算符 | c %= a 等价于 c = c % a |
**= | 幂赋值运算符 | c ** = a 等价于 c = c ** a |
a, b = 10, 3
a = b = 100
print(a) # 100
print(b) #100
age = 19
# age = age + 20
age += 20
age *= 20
print(age)
c = 10
# 输出13, 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3
c += 1 + 2
print(c)
比较运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True |
!= | 不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True |
> | 运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假 | 如a=7,b=3,则(a > b) 为 True |
< | 运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False |
>= | 运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True |
<= | 运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=3,b=3,则(a <= b) 为 True |
a, b = 10, 3
# 比较结果是布尔值
print(a == b) # False
print(a != b)
print(a >= b)
print(a > b)
print(a < b)
print(a <= b)
逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 | True and False, 返回 False。 |
or | x or y | 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 | False or True, 返回 True。 |
not | not x | 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not True 返回 False, not False 返回 True |
a, b, c = 1, 2, 3
# and 同真为真
print((a < b) and (b < c)) # True
print((a > b) and (b < c)) # False
# or 同假为为假
print((a < b) or (b < c)) # True
print((a > b) or (b < c)) # True
print((a > b) or (b > c)) # False
# not 取反
print(not (a > b))
# 数字之间的逻辑运算
# 在布尔世界里 非零就是True(1), 0 是False
print(bool(10)) # True
print(bool(100)) # True
print(bool("100")) # True
print(bool("0")) # True
print(bool(0)) # False
print(bool(None)) # False
a, b, c = 0, 1, 2
# and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字
print(a and b)
print(b and a)
print(b and c) # 2
print(c and b) # 1
# or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字
print(a or a) # 0
print(a or b) # 1
print(c or b) # 2
print(b or c) # 1
程序执行结构
- 顺序结构
- 分支结构
- 循环结构
分支结构(条件语句)
if 要判断的条件:
条件成立时,要做的事情
age = 1
if age >= 18:
print("恭喜你成年了, 可以去网吧了1")
print("恭喜你成年了, 可以去网吧了2")
print("恭喜你成年了, 可以去网吧了3")
if 要判断的条件:
条件成立时,要做的事情
else:
不满足条件时,要做的事情
age = 1
if age >= 18:
print("恭喜你成年了, 可以去网吧了1")
else:
print("对不起你还是个宝宝")
print("恭喜你成年了, 可以去网吧了3")
多重判断
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
else:
以上条件都不满足执行的事情
score = int(input("请输入您的成绩"))
if score >= 90 and score <= 100:
print("A level")
elif score >= 75 and score < 90:
print("B level")
elif score >= 60 and score < 75:
print("C level")
elif score >= 0 and score < 60:
print("D level")
else:
print("data error")
BMI计算器
计算公式为:BMI=体重÷身高^2。(体重单位:千克;身高单位:米。)
height = float(input('请输入您的身高(米)'))
weight = float(input('请输入您的体重(kg)'))
bmi = weight / (height **2)
# BMI = float('%.1f'%(BMI))
bmi = round(bmi, 1) # 保留一位小数
print(bmi)
if bmi<=18.4:
print('过瘦')
elif 18.5 <= bmi <= 23.9:
print('正常')
elif 24.0 <= bmi < 27.9:
print('偏重')
elif 28.0 <= bmi:
print('肥胖')
if 实现三目运算操作
if嵌套
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
money = 1 # 1, 有钱 0 没钱
seat = 0 # 1, 有座 0 无座
# 模拟坐公交车
if money == 1:
print("上车了")
if seat == 1:
print("有座")
else:
print("无座")
else:
print("只能走着了")
猜拳游戏
- 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
- 电脑 随机 出拳
- ⽐较胜负
# 生成随机数
from random import randint# 导入 随机数库
#num = randint(a, b) 生成 [a, b] 之间的随机整数
# num = randint(1, 3)
# print(num)
# 1. 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
player = int(input("请出拳: ⽯头(1)剪⼑(2)布(3)"))
# 2. 电脑 随机 出拳
computer = randint(1, 3)
print(computer)
# 3. ⽐较胜负
if (player==1 and computer==2) or (player==2 and computer==3) or (player==3 and computer==1):
print("玩家胜利✌️啦")
elif player == computer:
print("平局")
else:
print("你可真菜, 电脑赢了")
循环语句
while 循环条件:
循环体
i = 0
while i < 5:
print(f"hello{i}")
i += 1