云网牛站
所在位置:首页 > Linux编程 > Linux平台下Python if、if..else、if..elif..else、嵌套if语句

Linux平台下Python if、if..else、if..elif..else、嵌套if语句

2020-02-11 09:22:06作者:叶云稿源:云网牛站

本文带您了解Linux平台下Python if语句、if..else语句、if..elif..else语句、嵌套if语句。Python支持其他语言中的常见流程控制语句,并进行了一些修改,if控制语句是最基本,最著名的语句之一,用于根据特定条件执行代码。在本文中,我们将介绍Python中if语句的基础。安装Python请参考在CentOS 7/CentOS 8发行版上安装Python 3.8.1版本的方法

Linux平台下Python if、if..else、if..elif..else、嵌套if语句

 

Python if语句

Python中if语句的最基本形式如下:

if EXPRESSION:

 STATEMENT

if语句以if关键字开头,后跟条件表达式。

EXPRESSION后必须加(:)冒号,如果EXPRESSION的评估结果为True,则将执行STATEMENT。如果EXPRESSION返回False,则什么也不会发生,则STATEMENT将被忽略。STATEMENT是任何语句,包括多个语句或进一步嵌套的if语句,要不执行任何语句,请使用pass语句。

STATEMENT块以缩进开始,以第一条未缩进的行结束,大多数人选择使用4空格或是2空格缩进,官方的Python代码样式指南建议每个缩进级别使用4个空格,并避免混合使用制表符和空格进行缩进。

让我们看下面的示例脚本,该脚本检查给定数字是否大于5:

number = int(input('Enter a number: '))

if number > 5:

 print(number, 'is greater than 5.')

将代码保存在文件中,然后从命令行运行它:

python test.py

该脚本将提示您输入一个数字,例如,如果输入10,则条件表达式的值将为True(10大于5),并且将执行打印功能:

10 is greater than 5.

Python支持标准比较操作:

a == b-如果a和b相等,则为true。

a != b-如果a和b不相等,则为true。

a > b-如果a大于b,则为true。

a >= b-如果a等于或大于b,则为true。

a < b-如果a小于b,则为true。

a <= b-如果a等于或小于b,则为true。

您还可以使用in关键字来检查可迭代值(字符串、列表、元组、字典[dictionary]等)中是否存在值:

s = 'ywnz'

if 'ze' in s:

 print('True.')

这是使用字典的另一个示例:

d = {'a': 2, 'b': 4}

if 'a' in d:

 print('True.')

当在字典上使用in关键字时,它将检查字典是否具有特定的键。

要否定条件表达式,请使用逻辑非运算符:

number = int(input('Enter a number: '))

if not number < 5:

 print(number, 'is greater than 5.')

 

if..else语句

if..else语句评估条件并根据结果执行两个语句之一。

Python if..else语句采用以下形式:

if EXPRESSION:

 STATEMENT1

else:

 STATEMENT2

如果EXPRESSION的值为True,则将执行STATEMENT1,否则,如果EXPRESSION返回False,则将执行STATEMENT2,语句中只能有一个else子句。

else关键字必须以(:)冒号结尾,并且与相应的if关键字具有相同的缩进级别。

让我们在前面的示例脚本中添加else子句:

number = int(input('Enter a number: '))

if number > 5:

 print(number, 'is greater than 5.')

else:

 print(number, 'is equal or less than 5.')

如果运行代码并输入数字,则脚本将根据数字是大于还是小于/等于5来打印不同的消息。

 

if..elif..else语句

elif关键字是else if的缩写。

Python if..elif..else语句采用以下形式:

if EXPRESSION1:

 STATEMENT1

elif: EXPRESSION2:

 STATEMENT2

else:

 STATEMENT3

如果EXPRESSION1的值为True,则将执行STATEMENTS1,如果EXPRESSION2评估为True,则将执行STATEMENTS2,如果没有一个表达式的结果都为True,则执行STATEMENTS3。

elif关键字必须以(:)结尾,并且与相应的if关键字具有相同的缩进级别,语句中可以有一个或多个elif子句。else子句是可选的,如果未使用else子句,并且所有表达式的求值为False,则不会执行任何语句。

条件被顺序评估,条件返回True后,将不执行其余条件,并且程序控制移至if语句的末尾。

让我们在前面的脚本中添加一个elif子句:

number = int(input('Enter a number: '))

if number > 5:

 print(number, 'is greater than 5.')

elif number < 5:

 print(number, 'is less than 5.')

else:

 print(number, 'is equal to 5.')

与大多数编程语言不同,Python没有switch或case语句,多个elif语句的序列可以用作switch或case的替代项。

 

嵌套if语句

Python允许您在if语句中嵌套if语句,通常,您应始终避免过度缩进,并尝试使用elif而不是嵌套if语句。

以下脚本将提示您输入三个数字,并在数字中显示最大的数字:

number1 = int(input('Enter the first number: '))

number2 = int(input('Enter the second number: '))

number3 = int(input('Enter the third number: '))

if number1 > number2:

 if number1 > number3:

  print(number1, 'is the largest number.')

 else:

  print(number3, 'is the largest number.')

else:

 if number2 > number3:

  print(number2, 'is the largest number.')

 else:

  print(number3, 'is the largest number.')

输出结果如下所示:

Enter the first number: 455 

Enter the second number: 567

Enter the third number: 354

567 is the largest number.

 

多种条件

逻辑or和and运算符使您可以在if语句中组合多个条件。

这是脚本的另一个版本,可打印三个数字中最大的数字,在此版本中,我们将使用逻辑和运算符和elif代替嵌套的if语句:

number1 = int(input('Enter the first number: '))

number2 = int(input('Enter the second number: '))

number3 = int(input('Enter the third number: '))

if number1 > number2 and number1 > number3:

 print(number1, 'is the largest number.')

elif number2 > number3 and number2 > number3:

 print(number2, 'is the largest number.')

else:

 print(number3, 'is the largest number.')

 

结论

if,if..else和if..elif..else语句使您可以通过评估给定条件来控制Python执行的流程。

 

相关主题

在CentOS 8系统中安装pip3和pip2,及使用pip管理Python软件包

精选文章
热门文章