选择语句:if .. else
选择语句,也称为决策语句 (Decision making statements),根据一个或多个测试表达式的结果来控制程序的流程。如果满足条件 (True
),则执行代码块。还提供了在不满足条件时执行另一个代码块的功能。
这个过程可以用下面的流程图来演示:
Python 支持 if
复合语句,它提供了这种控制。if
语句包括:
if
关键字,后跟测试表达式、一个冒号:
和一个缩进的代码块,如果条件满足则执行该代码块- (可选) 一个或多个
elif
子句,后跟它们的测试条件及其对应的代码块 - (可选)
else
子句及其对应的代码块,如果上述所有条件 (if
,elif
) 都不满足,则执行该代码块
下面提供了一个 if
语句的示例:
python
'''
age - 贷款申请人的年龄
emp - 是否就业 (布尔值)
cscore - 申请人的信用评分
'''
result = None
if age < 26 and not emp:
result = "贷款被拒"
elif age > 35 and cscore < 600:
result = "贷款被拒"
else:
result = "贷款批准"
print(result)
上述代码的控制流视图是:
示例
让我们看一些使用选择语句的编程问题。
1. 绝对值
编写一个程序,使用条件语句输出两个数字之差的绝对值。
代码
python
n1 = int(input("输入第 1 个数字: "))
n2 = int(input("输入第 2 个数字: "))
if n1 > n2:
diff = n1 - n2
else:
diff = n2 - n1
print(n1, "和", n2, "的差是", diff)
输出
输入第 1 个数字: 12
输入第 2 个数字: 15
12 和 15 的差是 3
2. 3 个数排序
编写一个程序,接受用户输入的 3 个数字,并按升序打印它们。
代码
python
a = int(input("输入第 1 个数字: "))
b = int(input("输入第 2 个数字: "))
c = int(input("输入第 3 个数字: "))
if b < a:
# 交换 a 和 b 的值
a, b = b, a
if c < b:
b, c = c, b
if b < a:
a, b = b, a
print("排序后的数字:", a, ",", b, ",", c)
输出
输入第 1 个数字: 9
输入第 2 个数字: 2
输入第 3 个数字: 6
排序后的数字: 2 , 6 , 9
3. 可除性
编写一个程序,接受两个数字,并测试第一个数字是否能被第二个数字整除。
代码
python
a = int(input("输入第 1 个数字: "))
b = int(input("输入第 2 个数字: "))
if a % b == 0:
print(a, "可以被", b, "整除")
else:
print(a, "不能被", b, "整除")
输出
输入第 1 个数字: 9
输入第 2 个数字: 2
9 不能被 2 整除
输入第 1 个数字: 9
输入第 2 个数字: 3
9 可以被 3 整除