Python3 条件控制
条件控制是对执行计划期间发生的情况的预期,并根据条件采取具体行动。
条件控制评估多个表达式,其结果产生TRUE或FALSE。 如果结果为TRUE或FALSE,则需要确定执行哪个操作以及执行哪些语句。
以下是大多数编程语言中典型条件控制的一般形式 -
Python编程语言将任何非零值和非空值假定为TRUE,并将任何零或空值假定为FALSE值。
Python编程语言提供了以下类型的决策声明。
序号 | 声明 & 描述 |
---|---|
1 | if语句 一个 if语句 由一个布尔表达式和一个或多个语句组成。 |
2 | if…else语句 一个if语句 可以跟随一个可选的else语句, 当布尔表达式为FALSE时执行。 |
3 | 嵌套if语句 您可以在另一个if或else if语句中使用if或else if语句。 |
if语句
if语句与其他语言相似。 if语句包含一个逻辑表达式,使用该逻辑表达式比较数据,并根据比较结果做出决定。
语法
if expression:
statement(s)
如果布尔表达式求值为TRUE,则执行if语句内的语句块。 在Python中,块中的语句在:符号后统一缩进。 如果布尔表达式计算结果为FALSE,则执行块结束后的第一组代码。
例子
#!/usr/bin/python3
var1 = 100
if var1:
print ("1 - Got a true expression value")
print (var1)
var2 = 0
if var2:
print ("2 - Got a true expression value")
print (var2)
print ("Good bye!")
当上面的代码被执行时,它会产生以下结果 -
1 - Got a true expression value
100
Good bye!
if…else语句
else语句可以与if语句结合使用。 如果if语句中的条件表达式解析为0或FALSE值,则else语句包含一段代码。
else语句是一个可选语句,if后面最多只能有一个else语句。
语法
if expression:
statement(s)
else:
statement(s)
**例子**
#!/usr/bin/python3
amount = int(input("Enter amount: "))
if amount<1000:
discount = amount*0.05
print ("Discount",discount)
else:
discount = amount*0.10
print ("Discount",discount)
print ("Net payable:",amount-discount)
在上面的例子中,折扣是根据输入金额计算的。 如果金额低于1000,则折扣率为5%,如果高于10000,则折扣率为10%。当执行上述代码时,会产生以下结果 -
Enter amount: 600
Discount 30.0
Net payable: 570.0
Enter amount: 1200
Discount 120.0
Net payable: 1080.0
elif语句
elif语句允许您检查多个表达式为TRUE,并在其中一个条件评估为TRUE时立即执行一段代码。
与else类似,elif语句是可选的。 然而,与else不同的是,最多只能有一条语句,if后面可以有任意数量的elif语句。
语法
if expression1:
statement(s)
elif expression2:
statement(s)
elif expression3:
statement(s)
else:
statement(s)
Core Python不提供与其他语言相同的switch或case语句,但我们可以使用if…elif …语句来模拟switch case,如下所示 -
#!/usr/bin/python3
amount = int(input("Enter amount: "))
if amount<1000:
discount = amount*0.05
print ("Discount",discount)
elif amount<5000:
discount = amount*0.10
print ("Discount",discount)
else:
discount = amount*0.15
print ("Discount",discount)
print ("Net payable:",amount-discount)
当上面的代码被执行时,它会产生以下结果&minus;
Enter amount: 600
Discount 30.0
Net payable: 570.0
Enter amount: 3000
Discount 300.0
Net payable: 2700.0
Enter amount: 6000
Discount 900.0
Net payable: 5100.0
嵌套if语句
当条件解析为真时,您可能会想要检查另一个条件。 在这种情况下,你可以使用嵌套的if结构。
在嵌套if结构中,如果… elif … else构造,则可以在另一个结构中包含if … elif … else构造。
语法
if expression1:
statement(s)
if expression2:
statement(s)
elif expression3:
statement(s)
else
statement(s)
elif expression4:
statement(s)
else:
statement(s)
例子
# !/usr/bin/python3
num = int(input("enter number"))
if num%2 == 0:
if num%3 == 0:
print ("Divisible by 3 and 2")
else:
print ("divisible by 2 not divisible by 3")
else:
if num%3 == 0:
print ("divisible by 3 not divisible by 2")
else:
print ("not Divisible by 2 not divisible by 3")
当上面的代码被执行时,它会产生以下结果 -
enter number8
divisible by 2 not divisible by 3
enter number15
divisible by 3 not divisible by 2
enter number12
Divisible by 3 and 2
enter number5
not Divisible by 2 not divisible by 3