在本文中,您将学习如何在Python程序中使用if..else的不同形式来创建决策。
只有在满足特定条件时,我们才需要执行代码,这时就需要进行决策。
if…elif…else语句在Python中用于决策。
if test expression: statement(s)
在这里,仅当文本表达式 test expression 为True时,程序才会评估并执行语句。
如果文本表达式为False,则不执行该语句。
在Python中,if语句的主体由缩进指示。主体以缩进开始,直到第一条未缩进的语句时结束。
Python将非零值作为True。None 和 0 被视作为False。
#如果数字是正数,我们打印适当的消息 num = 3 if num > 0: print(num, "这是一个正数.") print("我始终会打印输出.") num = -1 if num > 0: print(num, "这是一个负数.") print("我也始终会打印输出.")
运行该程序时,输出为:
3 这是一个正数. 我始终会打印输出. 我也始终会打印输出.
在上面的示例中,num > 0 是测试表达式。
if语句中,仅当其值为True时才执行的主体。
当变量num等于 3 时,测试表达式为 true,将执行 if主体内部 的语句。
如果变量num等于-1,则测试表达式为false,将跳过 if主体内部 的语句。
print()语句位于 if块之外(未缩进)。因此,无论测试表达式如何,都将执行它。
if test expression: if代码块主体 else: else代码块主体
if..else语句评估 test expression 并且if语句仅在测试条件为 True 时才执行主体。
如果条件为 False,则执行 else的主体。缩进用于分隔块。
#程序检查数字是正数还是负数 #并显示适当的消息 num = 3 #尝试这两个值。 # num = -5 # num = 0 if num >= 0: print("0或正数") else: print("负数")
输出结果
0或正数
在上面的示例中,当 num 等于3时,测试表达式为 true,并且if的主体被执行,else的主体被跳过。
如果num等于-5,则测试表达式为false,执行else的主体,并且跳过if的主体。
如果num等于0,则测试表达式为true,if的主体被执行,else的主体被跳过。
if test expression: Body of if elif test expression: Body of elif else: Body of else
elif是else if的缩写。它允许我们检查多个表达式。如果If的条件为False,则检查下一个elif块的条件,依此类推。
如果所有条件都为False,则执行else的主体。
if...elif...else根据条件,在几个块中仅执行一个块。
if块只能有一个else块。但是它可以有多个elif块。
'''在这个程序中 我们检查数字是否为正或 负数或零且 显示适当的消息''' num = 3.4 # 试试这两个变化: # num = 0 # num = -4.5 if num > 0: print("正数") elif num == 0: print("0") else: print("负数")
当变量num为正时,输出:正数 。
如果num等于0,输出:零 。
如果num为负数,输出:负数 。
我们可以在另一个if...elif...else语句中包含一个if...elif...else语句。这在计算机编程中称为嵌套。
这些语句中的任何数目都可以彼此嵌套。缩进是弄清楚嵌套级别的唯一方法。它们可能会造成混淆,因此除非有必要,否则必须避免使用它们。
'''在这个程序中,我们输入一个数字 检查数字是否为正或 负数或零并显示 适当的信息 这次我们使用嵌套的if语句''' num = float(input("输入数字: ")) if num >= 0: if num == 0: print("零") else: print("正数") else: print("负数")
输出1
输入数字: 5 正数
输出2
输入数字: -1 负数
输出3
输入数字: 0 零