目录
在计算机中,程序执行的方向被称为控制流。最基本的情况下,程序从首条代码开始依次执行,调用函数、方法,使用控制结构,或程序发生异常都能使控制流转向。Python中用于操纵控制流的常用语句有if-elif-else语句、for语句、while语句、break语句、continue等。本章将重点介绍Python常用控制流语句,以及与控制流功能非常类似的、用于异常处理的try-except-else语句。
3.1 条件语句
3.1.1 if、elif与else
if语句中包含3种条件判断句式,即if、elif和else。其中,if与elif部分都包含判断条件,当判断条件都不成立时,程序才能执行else部分的代码。
if-else语句实现登录界面
In[1]: name = input ('请输入用户名:')
password = input ('请输入密码:')
if name == "Lucy" and password == "123456":
print ('****登录成功, 欢迎!*****')
else:
print ('-----您的输入有误, 登录失败!-----')
Out[1]: 请输入用户名:Lucy
请输入密码:123
----您的输入有误, 登录失败!-----
In[2]: name = input ('请输入用户名:')
password = input ('请输入密码:')
if name == "Lucy" and password == "123456":
print ('****登录成功, 欢迎!*****')
else:
print ('-----您的输入有误, 登录失败!-----')
Out[2]: 请输入用户名:Lucy
请输入密码:123456
***登录成功, 欢迎!*****
if-else语句的单行形式
In[3]: num1, num2 = 11, 90
print('num1加num2为百分数') if 1000 > num1 + num2 >100 else
print('num1加num2不为百分数')
Out[3]: num1加num2为百分数
使用if-elif-else语句实现年龄段的判断
In[4]: age = input('请输入您的年龄:')
age = int(age)
if age < 18:
print('未成年人!')
elif age >= 18 and age <= 25:
print('青年人!')
elif age > 25 and age <= 60:
print('中年人!')
else:
print('老年人!')
Out[4]: 请输入您的年龄: 20
青年人!
if语句支持嵌套,即在一个if语句中嵌入另一个if语句
嵌套if-elif-else语句
In[5]: age = input('请输入你的年龄:')
age = int(age)
if age == 35:
nation = input('请输入你的国籍:')
if nation == '英国':
print('你是Tom! ')
elif (nation == '法国'):
print('你是Frank! ')
else:
print('你是Bob! ')
elif age == 21:
print('你是Jane, 来自南非! ')
elif age == 51:
print('你是Washington, 来自澳大利亚! ')
else:
print('请输入正确年龄值! ')
Out[5]: 请输入你的年龄:35
请输入你的国籍:法国
你是Frank!
使用if语句时,需要注意以下几点。
1)条件判断语句应尽量简单,若语句复杂则应当将运算先放到一个变量中。
2)Python的条件语句中允许常用的数值比较运算(==,!=,>,>=,<,<=)。
3)Python允许无限次if语句嵌套,但实际编程中如果必须用到3级到4级嵌套,建议考虑用其他方法编写代码,嵌套超过两层会使程序的运行效率大打折扣。
3.1.2 try、except与else
如果运行途中发生错误事件,程序的执行将中断,并创建异常对象。异常是程序在正常流程控制以外采取的动作,当它被引发时,计算机将自动寻找异常处理程序,以帮助程序恢复正常运行。
要保证程序的正常运行,就需要排除错误,错误要么是语法上的,要么是