第3章
Python控制语句
对于Python程序中的执行语句,默认是按照书写顺序依次执行的,这时称这样的语句是顺序结构的。但是,仅有顺序结构还是不够的,因为有时需要根据特定的情况,有选择地执行某些语句,这时就需要一���选择结构的语句。另外,有时还可以在给定条件下重复执行某些语句,这时称这些语句是循环结构的。有了这三种基本的结构,就能够构建任意复杂的程序了。
视频讲解
3.1选 择 结 构
三种基本程序结构中的选择结构,可用if语句、if…else语句和if…elif…else语句实现。
3.1.1if语句
Python的if语句的功能跟其他语言非常相似,都是用来判定给出的条件是否满足,然后根据判断的结果(即真或假)决定是否执行给出的操作。if语句是一种单选结构,它选择的是做或不做。它由三部分组成: 关键字if本身、测试条件真假的表达式(简称为条件表达式)和表达式结果为真(即表达式的值为非零)时要执行的代码。if语句的语法形式如下所示:
if 表达式:
语句1
图31if语句的流程图
if语句的流程图如图31所示。
if语句的表达式用于判断条件,可以用>(大于)、<(小于)、==(等于)、>=(大于或等于)、<=(小于或等于)来表示其关系。
现在用一个示例程序来演示一下if语句的用法。程序很简单,只要用户输入一个整数,如果这个数字大于6,那么就输出一行字符串; 否则,直接退出程序。代码如下所示:
#比较输入的整数是否大于6
a = input("请输入一个整数: ")#取得一个字符串
a = int(a)#将字符串转换为整数
if a > 6:
print ( a, "大于6")
通常,每个程序都会有输入输出,这样可以与用户进行交互。用户输入一些信息,你会对他输入的内容进行一些适当的操作,然后再输出用户想要的结果。Python可以用input进行输入,用print进行输出,这些都是简单的控制台输入输出,复杂的有处理文件等。
3.1.2if…else语句
上面的if语句是一种单选结构,也就是说,如果条件为真(即表达式的值为非零),那么执行指定的操作; 否则就会跳过该操作。而if…else语句是一种双选结构,在两种备选行动中选择哪一个的问题。if…else语句由五部分组成: 关键字if、测试条件真假的表达式、表达式结果为真(即表达式的值为非零)时要执行的代码,以及关键字else和表达式结果为假(即表达式的值为零)时要执行的代码。if…else语句的语法形式如下所示:
if 表达式:
语句1
else:
语句2
图32if…else语句的流程图
if…else语句的流程图如图32所示。
下面对上面的示例程序进行修改,以演示if…else语句的使用方法。程序很简单,只要用户输入一个整数,如果这个数字大于6,那么就输出一行信息,指出输入的数字大于6; 否则,输出另一行字符串,指出输入的数字小于或等于6。代码如下所示:
a = input("请输入一个整数: ")#取得一个字符串
a = int(a)#将字符串转换为整数
if a > 6:
print ( a, "大于6")
else:
print ( a, "小于或等于6")
【例31】任意输入三个数字,按从小到大的顺序输出。
分析: 先将x与y比较,把较小者放入x中,较大者放入y中; 再将x与z比较,把较小者放入x中,较大者放入z中,此时x为三者中的*小者; *后将y与z比较,把较小者放入y中,较大者放入z中,此时x、y、z已按由小到大的顺序排列。
x = input('x=')#输入x
y = input('y=')#输入y
z = input('z=') #输入z
if x > y:
x, y = y, x #x, y互换
if x > z:
x, z = z, x#x, z互换
if y > z:
y, z = z, y #y, z互换
print(x, y, z)
假如x、y、z分别输入1、4、3,以上代码输出结果:
x=1↙(输入x的值,↙表示回车)
y=4↙(输入y的值)
z=3↙(输入z的值)
1 3 4
其中“x, y = y, x”这种语句是同时赋值,将赋值号右侧的表达式依次赋给左侧的变量。例如,“x, y = 1, 4”就相当于“x=1; y=4”的效果,可见Python语法多么简洁。
……