程序分支结构:根据判断条件结果而选择不同向前路径的运行方式
单分支结构
guess = eval(input());
if guess == 99:
print("猜对了");
if True:
print("条件正确");
二分支结构
guess = eval(input());
if guess == 99:
print("猜对了");
else:
print("猜错了");
if True:
print("条件正确");
else:
print("条件错误");
#紧凑形式:适用于简单表达式的二分支结构
#<表达式1> if <条件> else <表达式2>
guess = eval(input());
print("猜{}了".format("对" if guess==99 else "错"));
多分支结构
score = eval(input());
if score >= 60:
grade = "D";
elif score >= 70:
grade = "C";
elif score >= 80:
grade = "B";
elif score >= 90:
grade = "A";
print("输入的成绩属于级别{}".format(grade));
#运行结果
#输入:100 输出:输入的成绩属于级别D,结果错误
注意:多条件之间的包含关系,变量取值范围的覆盖
条件判断及组合
操作符 | 描述 |
---|---|
< | 小于 |
<= | 小于等于 |
>= | 大于等于 |
> | 大于 |
== | 等于 |
!= | 不等于 |
操作符及使用 | 描述 |
---|---|
x and y | 两个条件x和y的逻辑与 |
x or y | 两个条件x和y的逻辑或 |
not x | 条件x的逻辑非 |
#多分支结构示例修改
score = eval(input());
if score >= 60 and score < 70:
grade = "D";
elif score >= 70 and score < 80:
grade = "C";
elif score >= 80 and score < 90:
grade = "B";
elif score >= 90 and score <= 100:
grade = "A";
else:
grade = "Error";
print("输入分数有误");
print("输入的成绩属于级别{}".format(grade));
#注意:else 后直接冒号,不能添加任何语句
程序的异常处理
示例1:
try:
num = eval(input("请输入一个整数:"));
print(num**2);
except:
print("输入的不是一个整数");
#运行结果:
#请输入一个整数:89
#7921
#请输入一个整数:ab
#输入的不是一个整数
示例2:
try:
num = eval(input("请输入一个整数:"));
print(num**2);
except NameError:
print("输入的不是一个整数");
#运行结果:
#请输入一个整数:rr
#输入的不是一个整数
#请输入一个整数:12 3
#Traceback (most recent call last):
# File "D:/Personal/Desktop/fenzhi.py", line 2, in <module>
# num = eval(input("请输入一个整数:"));
# File "<string>", line 1
# 12 3
# ^
#SyntaxError: unexpected EOF while parsing
注意:标注异常类型后,仅响应此类异常;异常类型名字等同于变量名
try:
num = eval(input("请输入一个整数:"));
print(num**2);
except NameError:
print("输入的不是一个整数");
except SyntaxError:
print("输入参数无效");
#运行结果
#请输入一个整数:12 3
#输入参数无效
示例3:
try:
num = eval(input("请输入一个整数:"));
print(num**2);
except NameError:
print("输入的不是一个整数");
else:
print("输入数据正确");
finally:
print("这儿的语句一定执行");
#运行结果
#请输入一个整数:99
#9801
#输入数据正确
#finally后的语句一定执行
#请输入一个整数:aa
#输入的不是一个整数
#finally后的语句一定执行
本文仅为学习Python记录,资料来源于中国大学MOOC《Python语言设计》—嵩天