开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 20 天,点击查看活动详情
4、if嵌套
# 假设 money 大于等于2 可以上车
money = eval(input('请输入你拥有的零钱:'))
# money = int(input('请输入你拥有的零钱:')) # 两种方式
# 1. 有钱可以上车
if money >= 2:
print('我上车了')
# 假设 seat 大于等于1,就可以坐
seat = int(input('车上的空位个数:'))
# 3. 有空座位,可以坐
if seat >= 1:
print('有座位坐')
else:
# 4. 没有空座位,就站着
print('没有座位,只能站着')
else:
# 2. 没钱不能上车,走路
print('没钱,我只能走路')
5、案例
猜拳游戏
需要导包,把随机数的包导入
import random
# 缺点:没办法控制用户 必须输入1到3的数
# 1. 用户输入自己出拳的内容
user = int(input('请输入要出的拳:1(石头) 2(剪刀) 3(布):'))
# 2. 让电脑随机出拳
computer = random.randint(1, 3) # 随机产生1-3 之间的随机数
# print(computer)
# 3. 判断胜负
# 3.1 平局 输入的内容一样 user == computer
# 3.2 user 胜利, ①. user==1 and computer==2 ② user==2 and computer==3 ③ user==3 and computer == 1
# 3.3 else 剩下的情况就是电脑胜利
if user == computer:
print("电脑出的是:%d" % computer)
print('平局')
elif (user == 1 and computer == 2) or (user == 2 and computer == 3) or (user == 3 and computer == 1):
print("电脑出的是:%d" % computer)
print('恭喜你,胜利了!')
else:
print("电脑出的是:%d" % computer)
print('你输了,弱爆了!')
三、三目运算符
本质上是if-else结构的变形
先写第一个表达式(成立的情况)在写判断条件,最后再写不成立的情况
而在Java和c 中是a>b ? a : b (是对和b的大小进行比较, “?”表示问一问是否成立,如果成立的话,输出a,如果不成立的话,输出b,即“:”后面的内容)
a-b>0 ? a-b : b-a (a-b的值是否大于0 如果成立,则输出a-b的值;如果不成立,则输出b-a的值)
a = int(input("请输入一个数字:"))
b = int(input("请输入一个数字:"))
result = a-b if a > b else b-a # 可以加括号
print(result)
if 判断条件1:
表达式1
else:
表达式2
判断条件成立,执行表达式 1, 条件不成立,执行表达式 2变量 = 表达式1 if 判断条件 else 表达式2 # 推荐使用扁平化代码
变量最终存储的结构是:
判断条件成立,表达式1的值,
条件不成立,表达式2的值