单一条件判断

if 条件:
        条件成立时执行的代码

对立条件判断

if 条件:
        条件成立时执行的代码
else:
        条件不成立时执行的代码

多条件判断

if 条件1:
        条件1成立时执行的代码
elif 条件2:
        条件2成立时执行的代码
elif 条件3:
        条件3成立时执行的代码
else:
        所有条件均不成立时执行的代码

分支语句嵌套

# 在分支语句中包含其他分支语句
# 判断正奇数正偶数,还是负奇数负偶数(先不考虑0)
num = 12
if num > 0:
    print('正', end='')
    if num % 2 == 0:
        print('偶数')
    else:
        print('奇数')
else:
    print('负', end='')
    if num % 2 == 0:
        print('偶数')
    else:
        print('奇数')
  • 注意事项
  • 分支语句中条件可以是bool值或者能够转换为bool值的数据和表达式
  • 分支语句中只能执行其中一个分支的命令,如果一个条件符合则后续条件均不会进行判断

猜拳游戏案例操作

# 分析四个步骤: 1、玩家键入拳型  2、电脑随机出拳  3、比对拳型  4、输出结果

player = int(input("请输入您要出的拳型:(0石头,1剪刀,2布)"))
import random  # 在计算机中想要生成随机数据可使用random模块进行生成
computer = random.randint(0,2) # 生成随机数random.randint(m,n),生成[m, n]区间内的任意一个整数
# 分析玩家获胜的情况:p0 c1, p1 c2, p2 c0。这样写的if语句太长,直接比较玩家和电脑的差值。
# if (player == 0 and computer== 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0):
#     print('玩家获胜')
# elif player == computer:
#     print('平局')
# else:
#     print('电脑获胜')

# 分析玩家和电脑差值得出:结果为0平局,结果为-1或2玩家获胜,结果为1或-2电脑获胜
# p c 差
#      0  平
# 0 1 -1  p
# 0 2 -2  c
# 1 0  1  c
# 1 2 -1  p
# 2 0  2  p
# 2 1  1  c
result = player - computer
if result == -1 or result == 2:
    print('玩家获胜')
elif result == 0:
    print('平局')
else:
    print('电脑获胜')

三目运算

  • 格式:条件成立时返回的数据 if 条件 else 条件不成立时返回的数据
# 三元运算符又叫三目运算符,三元表达式,条件运算符
# 格式: 条件成立时返回的数据  if 条件 else 条件不成立时返回的数据

# 需求输出a和b中的最大值
a = 4
b = 5
max1 = a if a > b else b
print(max1)

# 输入三个数,输出最大的一个数
a = float(input('第一个数:'))
b = float(input('第二个数:'))
c = float(input('第三个数:'))
print(a) if a > b else (print(b) if b > c else print(c))