前言
- 多分支条件之间的覆盖是重要问题
- 程序可运行,但如果不正确,要注意多分支
- 分支结构是程序的重要框架,读程序先看分支
阅读别人的代码,特别是函数内部代码的时候,请先阅读 分支语句 if 这样能较快把握程序的执行!
一、if 语句
语法:
if expression:
expr_true_suite
- if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。
- 单个 if 语句中的 expression 条件表达式可以通过布尔操作符 and,or 和 not 实现多重条件判断。
实例:
if 2 > 1 and not 2 > 3:
print('这是一个事实!!!')
# 这是一个事实!!!
运行结果:
这是一个事实!!!
二、if - else 语句
语法:
if expression:
expr_true_suite
else:
expr_false_suite
- Python 提供与 if 搭配使用的 else,如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
实例:
temp = input("猜一猜小姐姐想的是哪个数字?")
guess = int(temp) # input 函数将接收的任何数据类型都默认为 str。
if guess == 666:
print("你太了解小姐姐的心思了!")
print("哼,猜对也没有奖励!")
else:
print("猜错了,小姐姐现在心里想的是666!")
print("游戏结束,不玩儿啦!")
运行结果:
注意: if 语句支持嵌套,即在一个 if 语句嵌入另一个 if 语句,从而构成不同层次的选择结构。
实例:Python 使用缩进而不是大括号来标记代码块边界,因此要特别注意 else 的悬挂问题。
hi = 6
if hi > 2:
if hi > 7:
print('好棒!好棒!')
else:
print('切~')
# 无输出
实例:
temp = input("猜一猜小姐姐想的是哪个数字?")
guess = int(temp)
if guess > 8:
print("大了,大了")
else:
if guess == 8:
print("你太了解小姐姐的心思了!")
print("哼,猜对也没有奖励!")
else:
print("小了,小了")
print("游戏结束,不玩儿啦!")
运行结果:
三、if - elif - else 语句
语法:
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
.
.
elif expressionN:
exprN_true_suite
else:
expr_false_suite
- elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。
实例:
temp = input('请输入成绩:')
source = int(temp)
if 100 >= source >= 90:
print('A')
elif 90 > source >= 80:
print('B')
elif 80 > source >= 60:
print('C')
elif 60 > source >= 0:
print('D')
else:
print('输入错误!')
四、assert 关键字
- assert 这个关键字我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动泵壳并抛出 AssertionError 的异常。
实例:
my_list = ['lsgogroup']
my_list.pop(0)
assert len(my_list) > 0
# AssertionError
运行结果:
实例:在进行单元测试时,可以用来在程序中置入检查点,只有条件为 True 才能让程序正常工作。
assert 3 > 7
# AssertionError
运行结果: