易懂易学习的9个Python if, if else, if elif 命令示例
与其他编程语言类似,在 Python 中,可以使用 if 命令处理条件情况。
在这里,我们通过示例解释了以下内容:
- 基本 Python if 命令示例
- Python if 命令运算符
- 用于字符串比较的基本 Python if 命令示例
- 使用缩进的 If 条件块中的多个命令
- Python if else 命令示例
- Python if else if 命令示例
- Python 复合 If 语句示例
- AND, OR, NOT in Python if 命令
- Python if 命令错误信息
这是 Python if 语句语法。以下示例将展示如何正确使用此语法。
if_stmt ::= "if" expression ":" suite
( "elif" expression ":" suite )*
["else" ":" suite]
1. 基本 Python if 命令示例
以下示例说明了在使用数字进行条件测试时如何在 python 中使用 if 命令。
# cat if1.py
days = int(input("How many days are in March?: "))
if days == 31:
print("You passed the test.")
print("Thank You!")
在上面的例子中:
- 第 1 行:在这里,我们要求用户输入。输入将是一个整数,它将存储在变量 days 中。
- 第 2 行:这是 if 命令,这里我们比较变量 days 的值是否等于数值 31。末尾的冒号是 if 命令语法的一部分,应该给出。
- 第 3 行:这一行以两个空格开头。if 语句之后的任何行(一行或多行),在开头具有类似的缩进,都被视为 if 语句块的一部分。在这个例子中,我们在 if 语句之后只有一行,也就是第三行,它的开头有两个空格用于缩进。因此,当 if 语句的条件为真时,将执行此行。即如果变量 days 的值等于 31,则第三个将被执行
- 第 4 行:该行在 if 语句块之外。因此,无论 if 语句是真还是假,这都会被执行。
下面是上面例子的输出,当 if 语句条件为真时。
# python if1.py
How many days are in March?: 31
You passed the test.
Thank You!
以下是上述示例的输出,当 if 语句条件为 false 时。
# python if1.py
How many days are in March?: 30
Thank You!
2. Python if 命令操作符
以下是您可以在 if 命令中用于条件检查的各种运算符。
条件 | 操作员 |
---|---|
大于 | > |
大于或等于 | >= |
小于 | < |
小于或等于 | <= |
等于 | == |
不等于 | != |
对于对象标识 | is |
对于否定的对象标识 | is not |
3. 用于字符串比较的基本 Python if 命令示例
与前面的示例类似,我们也可以使用 Python if 命令进行字符串比较,如下例所示。
# cat if2.py
code = raw_input("What is the 2-letter state code for California?: ")
if code == 'CA':
print("You passed the test.")
print("Thank You!")
在上面:
- 第一行:这里我们从用户那里获取原始输入并将其存储在代码变量中。这将存储为字符串。
- 第 2 行:在这个 if 命令中,我们比较代码变量的值是否等于字符串 'CA'。请注意,我们将静态字符串值括在单引号(不是双引号)中。最后的 : 是 if 命令语法的一部分。
- 第 3 行:如前面示例中所述,当 if 命令条件为真时,将执行此行,因为此行开头有空格缩进。
- 第 4 行:无论 if 命令条件为真还是假,这都会被执行。
以下是上述示例代码的 if 条件为 true 和 false 的输出。
# python if2.py
What is the 2-letter state code for California?: CA
You passed the test.
Thank You!
# python if2.py
What is the 2-letter state code for California?: NV
Thank You!
4. 使用缩进的 If 条件块中的多个命令
在前面的示例中,当 if 条件为真时,我们只有一个语句要执行。
以下示例显示当 if 条件为真时将在何处执行多行。这是通过在需要成为 if 条件块一部分的语句的开头进行适当的缩进来完成的,如下所示。
# cat if3.py
code = raw_input("What is the 2-letter state code for California?: ")
if code == 'CA':
print("You passed the test.")
print("State: California")
print("Capital: Sacramento")
print("Largest City: Los Angeles")
print("Thank You!")
在上面:
- 第一行:这里我们从用户那里获取原始输入并将其存储在代码变量中。这将存储为字符串。
- 第 2 行:在这个 if 命令中,我们比较代码变量的值是否等于字符串 'CA'。请注意,我们将静态字符串值括在单引号(不是双引号)中。最后的 : 是 if 命令语法的一部分。
- 第 3 行 – 第 6 行:所有这些行在语句的开头都有相同的缩进。在这个例子中,所有这 4 个打印语句的开头都有 2 个空格。因此,这些语句将被执行,然后 if 条件变为真。
- 第 4 行:此打印语句与之前的命令没有类似的缩进。所以,这不是 if 语句块的一部分。无论 if 命令是真还是假,这一行都会被执行。
下面是上面例子的输出,当 if 语句条件为真时。在这里,所有属于 if 条件块的 4 个打印语句都被执行。
# python if3.py
What is the 2-letter state code for California?: CA
You passed the test.
State: California
Capital: Sacramento
Largest City: Los Angeles
Thank You!
以下是上述示例的输出,当 if 语句条件为 false 时。
# python if3.py
What is the 2-letter state code for California?: NV
Thank You!
5. Python if else 命令示例
下面的例子展示了如何在 Python 中使用 if..else 命令。
# cat if4.py
days = int(input("How many days are in March?: "))
if days == 31:
print("You passed the test.")
else:
print("You failed the test.")
print("Thank You!")
在上面的例子中:
- 第 1 行:在这里,我们要求用户输入。输入将是一个整数,它将存储在变量 days 中。
- 第 2 行:这是 if 命令,这里我们比较变量 days 的值是否等于数值 31。末尾的冒号是 if 命令语法的一部分,应该给出。
- 第 3 行:这一行以两个空格开头。if 语句之后的任何行(一行或多行),在开头具有类似的缩进,都被视为 if 语句块真条件的一部分。
- 第 4 行:此 if 块具有 else 关键字。末尾的冒号是 if..else 命令语法的一部分,应该给出。
- 第 5 行:这一行以两个空格开头。else 语句之后的任何行(一行或多行),在开头具有类似的缩进,都被视为 if 语句块 false 条件的一部分。
- 第 6 行:该行在 if 语句块之外。因此,无论 if 语句是真还是假,这都会被执行。
下面的例子也与上面的例子类似,但是这个 if..else 使用字符串变量进行比较。
# cat if5.py
code = raw_input("What is the 2-letter state code for California?: ")
if code == 'CA':
print("You passed the test.")
else:
print("You failed the test.")
print("Thank You!")
以下是上述示例的输出,当 if 语句条件为 false 时。即 else 块将在这里执行。
# python if4.py
How many days are in March?: 30
You failed the test.
Thank You!
# python if5.py
What is the 2-letter state code for California?: NV
You failed the test.
Thank You!
6. Python if else if 命令示例
在 Python 中,if else if 使用 if elif else 格式处理。
下面的例子展示了如何在 Python 中使用 if..elif..else 命令。
# cat if6.py
code = raw_input("Type a 2-letter state code that starts with letter C: ")
if code == 'CA':
print("CA is California")
elif code == 'CO':
print("CO is Colorado")
elif code == 'CT':
print("CT is Connecticut")
else:
print("Invalid. Please enter a valid state code that starts with letter C")
print("Thank You!")
在上面:
- 当第一个 if code == 'CO' 条件失败时,它会转到下一个 elif 命令。
- 当 elif 代码 == 'CO' 条件失败时,它会转到下一个 elif 代码命令。
- 当 elif 代码 == 'CT' 条件失败时,它只会执行作为最终 else: 块的一部分可用的任何内容。
- 在第一个 if 条件变为真时,或其余 elif 条件中的任何一个变为真时,它会执行属于其块的语句并停止检查进一步的条件。
- 这也意味着当任何 if 条件或 elif 条件变为真时,作为 else 块的一部分的语句将不会被执行。
- 此外,就像前面的示例一样,if、elif、else 命令末尾的冒号是 Python 语法的一部分,应该指定它。
以下是第一个 if 条件成立时的输出。
# python if6.py
Type a 2-letter state code that starts with letter C: CA
CA is California
Thank You!
以下是第一个 elif 条件为真时的输出。
# python if6.py
Type a 2-letter state code that starts with letter C: CO
CO is Colorado
Thank You!
以下是第二个 elif 条件为真时的输出。
# python if6.py
Type a 2-letter state code that starts with letter C: CT
CT is Connecticut
Thank You!
以下是if条件为false时的输出,其余elif条件也全部为false。在这里,执行 else 块。
# python if6.py
Type a 2-letter state code that starts with letter C: NV
Invalid. Please enter a valid state code that starts with letter C
Thank You!
7. Python 复合 If 语句示例
以下示例显示了如何在 if 语句中使用复合条件命令。
# cat if7.py
a = int(input("Enter a: "))
b = int(input("Enter b: "))
c = int(input("Enter c: "))
if a < b < c:
print("Success. a < b < c")
在上面:
- 只有当 if 条件为真时才会执行打印块。在这里,我们对 if 语句使用复合表达式,只有当 a 小于 b 且 b 小于 c 时它才会为真。
以下是 if 条件成立时的输出。
# python if7.py
Enter a: 10
Enter b: 20
Enter c: 30
Success. a < b < c
以下是 if 条件变为 false 时的输出。
# python if7.py
Enter a: 10
Enter b: 10
Enter c: 20
8. AND, OR, NOT 在 Python 中 if 命令
您还可以在 python if 命令表达式中使用以下运算符。
操作员 | 健康)状况 | 描述 |
---|---|---|
and | x 和 y | 仅当 x 和 y 都为真时才为真。 |
or | x 或 y | 如果 x 为真,或 y 为真,则为真。 |
not | 不是 x | 如果 x 为假,则为真。如果 x 为真,则为假。 |
下面的例子展示了我们如何在 python if 条件中使用关键字“and”。
# cat if8.py
x = int(input("Enter a number > 10 and < 20: "))
if x > 10 and x < 20:
print("Success. x > 10 and x < 20")
else:
print("Please try again!")
在上面:
- 只有当 if 语句中提到的条件都为真时,if 语句才会为真。
即 x 应该大于 10 并且 x 也应该小于 20 才能满足此条件。所以,基本上 x 的值应该在 10 到 20 之间。
以下是 if 条件成立时的输出。即当 if 语句中提到的两个表达式都为真时。
# python if8.py
Enter a number > 10 and < 20: 15
Success. x > 10 and x < 20
以下是 if 条件变为 false 时的输出。即 if 语句中提到的表达式中只有一个为真。因此,整个 if 语句变为假。
# python if8.py
Enter a number > 10 and < 20: 5
Please try again!
9. Python if 命令错误信息
以下是您在使用 if 命令时可能会看到的一些错误消息。
当您没有为 if 命令后面的语句提供正确的缩进时,就会发生此 IndentationError 错误。
# python if9.py
File "if3.py", line 4
print("State: California")
^
IndentationError: unindent does not match any external indentation level
当您不指定冒号时会发生以下 SyntaxError :在 python if 语句的末尾
# python if9.py
File "if.py", line 2
if days == 31
^
SyntaxError: invalid syntax
当您指定无效的运算符时,将发生相同的 SyntaxError。在此示例中,python 中没有名为 -eq 的运算符。因此,此 if 命令因语法错误而失败。当您指定 elseif 而不是 elif 时,您也会遇到类似的语法错误。
# python if9.py
File "if.py", line 2
if days -eq 31:
^
SyntaxError: invalid syntax
- 点赞
- 收藏
- 关注作者
评论(0)