📅  最后修改于: 2020-09-19 13:56:59             🧑  作者: Mango
仅当满足特定条件时,才需要执行代码时才需要决策。
if…elif…else
语句在Python用于决策。
if test expression:
statement(s)
在此,程序将评估test expression
并且仅在测试表达式为True
时才执行语句。
如果测试表达式为False
,则不执行该语句。
在Python, if
语句的主体由缩进指示。主体以缩进开始,第一条未缩进的线标记结束。
Python将非零值解释为True
。 None
和0
被解释为False
。
# If the number is positive, we print an appropriate message
num = 3
if num > 0:
print(num, "is a positive number.")
print("This is always printed.")
num = -1
if num > 0:
print(num, "is a positive number.")
print("This is also always printed.")
运行该程序时,输出为:
3 is a positive number
This is always printed
This is also always printed.
在上面的示例中, num > 0
是测试表达式。
if
的主体只有在其值为True
时才执行。
当变量num
等于3时,测试表达式为true,并且执行if
体内的语句。
如果变量num
等于-1,则测试表达式为false,并且if
体内的语句将被跳过。
print()
语句位于if
块之外(未缩进)。因此,无论测试表达式如何,都将执行它。
if test expression:
Body of if
else:
Body of else
该if..else
语句计算test expression
和将要执行的主体if
只有当测试条件为True
。
如果条件为False
,则执行else
的主体。缩进用于分隔块。
# Program checks if the number is positive or negative
# And displays an appropriate message
num = 3
# Try these two variations as well.
# num = -5
# num = 0
if num >= 0:
print("Positive or Zero")
else:
print("Negative number")
输出
Positive or Zero
在上面的示例中,当num
等于3时,测试表达式为true,并且if
的主体被执行,else的body
被跳过。
如果num
等于-5,则测试表达式为false,并且执行else
的主体, if
的主体被跳过。
如果num
等于0,则测试表达式为true,并且if
正文被执行,else的body
被跳过。
if test expression:
Body of if
elif test expression:
Body of elif
else:
Body of else
elif
是if的缩写。它允许我们检查多个表达式。
如果条件为if
是False
,它会检查下一个条件elif
块等。
如果所有条件均为False
,则执行else的主体。
根据条件只执行几个if...elif...else
块中的一个块。
if
块只能有一个else
块。但是它可以有多个elif
块。
'''In this program,
we check if the number is positive or
negative or zero and
display an appropriate message'''
num = 3.4
# Try these two variations as well:
# num = 0
# num = -4.5
if num > 0:
print("Positive number")
elif num == 0:
print("Zero")
else:
print("Negative number")
当变量num
为Positive number
将打印Positive number
。
如果num
等于0,则打印Zero
。
如果num
为负数,则打印Negative number
。
我们可以有一个if...elif...else
内另一份声明中if...elif...else
说法。这在计算机编程中称为嵌套。
这些语句中的任何数目都可以彼此嵌套。缩进是弄清楚嵌套级别的唯一方法。它们可能会造成混乱,因此除非有必要,否则必须避免使用它们。
'''In this program, we input a number
check if the number is positive or
negative or zero and display
an appropriate message
This time we use nested if statement'''
num = float(input("Enter a number: "))
if num >= 0:
if num == 0:
print("Zero")
else:
print("Positive number")
else:
print("Negative number")
输出1
Enter a number: 5
Positive number
输出2
Enter a number: -1
Negative number
输出3
Enter a number: 0
Zero