Python3 条件控制

条件控制是对执行计划期间发生的情况的预期,并根据条件采取具体行动。

条件控制评估多个表达式,其结果产生TRUE或FALSE。 如果结果为TRUE或FALSE,则需要确定执行哪个操作以及执行哪些语句。

以下是大多数编程语言中典型条件控制的一般形式 -

Python3 条件控制1

Python编程语言将任何非零值和非空值假定为TRUE,并将任何零或空值假定为FALSE值。

Python编程语言提供了以下类型的决策声明。

序号 声明 & 描述
1 if语句 一个 if语句 由一个布尔表达式和一个或多个语句组成。
2 if…else语句 一个if语句 可以跟随一个可选的else语句, 当布尔表达式为FALSE时执行。
3 嵌套if语句 您可以在另一个ifelse if语句中使用ifelse if语句。

if语句

if语句与其他语言相似。 if语句包含一个逻辑表达式,使用该逻辑表达式比较数据,并根据比较结果做出决定。

语法

if expression:
   statement(s)

如果布尔表达式求值为TRUE,则执行if语句内的语句块。 在Python中,块中的语句在:符号后统一缩进。 如果布尔表达式计算结果为FALSE,则执行块结束后的第一组代码。

Python3 条件控制2

例子

#!/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)
Python3 条件控制3 **例子**
#!/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