Python3 条件控制

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

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

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

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

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

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

if语句

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

语法

  • 01
  • 02
if expression: statement(s)

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

例子

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
#!/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!")

当上面的代码被执行时,它会产生以下结果 -

  • 01
  • 02
  • 03
1 - Got a true expression value 100 Good bye!

if…else语句

else语句可以与if语句结合使用。 如果if语句中的条件表达式解析为0或FALSE值,则else语句包含一段代码。

else语句是一个可选语句,if后面最多只能有一个else语句。

语法

  • 01
  • 02
  • 03
  • 04
  • 05
if expression: statement(s) else: statement(s)
**例子**
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
#!/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%。当执行上述代码时,会产生以下结果 -

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
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语句。

语法

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
if expression1: statement(s) elif expression2: statement(s) elif expression3: statement(s) else: statement(s)

Core Python不提供与其他语言相同的switch或case语句,但我们可以使用if…elif …语句来模拟switch case,如下所示 -

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
#!/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;

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
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构造。

语法

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
if expression1: statement(s) if expression2: statement(s) elif expression3: statement(s) else statement(s) elif expression4: statement(s) else: statement(s)

例子

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
# !/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")

当上面的代码被执行时,它会产生以下结果 -

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
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