文章目录
(一)、为什么要使用 if 语句
- 当我们写一段简单的代码,比如选举投票,投完票会打印一段文字:投票成功
# 选举投票
# 输入你的年龄
age = int(input("请输入你的年龄?"))
print("投票成功!")
程序运行结果:
投票成功! # 程序运行结果
- 但是年龄不到18周岁的不可以进行投票的,上面的代码所有人买票都会打印 “投票成功!”的文字,所以我们需要对上面代码进行修改,这时候就用到了 if 语句
# 选举投票
# 输入你的年龄
age = int(input("请输入你的年龄?"))
if age >= 18:
# 如果年龄满18岁,打印投票成功
print("投票成功!")
程序运行结果:
# 程序运行结果
请输入你的年龄?18
投票成功! # 年龄 >= 18 打印字样
请输入你的年龄?11 # 年龄 < 18 不打印字样
- 简单来说: if 语句可以让我们对信息进行挑选,选择需要的那部分信息,而过滤掉无用的信息
(二)、一个简单的 if 语句
- 语法格式:
if 测试条件:
执行操作
- 示例:
# 选举投票
# 输入你的年龄
age = int(input("请输入你的年龄?"))
if age >= 18:
# 如果年龄满18岁,打印投票成功
print("投票成功!")
程序运行结果:
# 程序运行结果
请输入你的年龄?18
投票成功! # 年龄 >= 18 打印字样
请输入你的年龄?11 # 年龄 < 18 不打印字样
(三)、if else 语句
我们经常需要在测试通过是执行一个操作,不通过时执行另一个操作,这时简单的 if 语句已经满足不了,可是使用 if else 语句
- 语法格式:
if 测试条件:
操作 1
else:
操作 2
- 示例:以刚才的选举投票为例,我想在满 18 岁打印“投票成功!”字样,不足 18 岁时,打印“对不起,你的年龄不足18岁,不能参加投票!”
# 选举投票
# 输入你的年龄
age = int(input("请输入你的年龄?"))
if age >= 18:
# 如果年龄满18岁,打印投票成功
print("投票成功!")
else:
# 如果年龄不足18岁,打印其他语句
print("对不起,你的年龄不足18岁,不能参加投票!")
程序运行结果:
# 程序运行结果
D:\Python_work>pratice.py
请输入你的年龄?18
投票成功!
D:\Python_work>pratice.py
请输入你的年龄?11
对不起,你的年龄不足18岁,不能参加投票!
(四)、if - elif - else 语句
- 语法格式
if 测试条件 1:
操作 1
elif 测试条件 2:
操作 2
else:
操作 3
- 示例:当测试条件不止一个时,if - else 已经不够用了,我们就需要用到 if - elif - else 语句
问题:请输入一个成绩,并打印相应的成绩信息(成绩 >= 90 分为优秀,成绩 < 60 为不及格,其他成绩为良好)
上述问题写成代码为:
# 打印成绩
score = int(input("请输入成绩?"))
if score < 60: # 成绩 < 60
print("不及格!")
elif score < 90: # 成绩 60 < score < 90
print("良好!")
else:
print("优秀!")
程序运行结果:
D:\Python_work>pratice.py
请输入成绩?90
优秀!
D:\Python_work>pratice.py
请输入成绩?55
不及格!
D:\Python_work>pratice.py
请输入成绩?88
良好!
(五)、使用多个 elif
- 语法格式
if 测试条件 1:
操作1
elif 测试条件 2:
操作 2
elif 测试条件 3:
操作 3
...
else:
操作 n
其中最后一个 else 可以不写
- 示例:
问题:请输入一个成绩,并打印相应的成绩等级(成绩 90~100为 A,成绩80~90为 B,成绩 60~80 为C,60 以下为不及格)
上述问题写为代码为:
# 打印成绩
score = int(input("请输入成绩?"))
if score < 60: # 成绩 < 60
print('D')
elif score < 80: # 成绩 60~80
print('C')
elif score < 90: # 成绩 70~90
print('B')
else: # 其他成绩
print('A')
程序运行结果为:
D:\Python_work>pratice.py
请输入成绩?99
A
D:\Python_work>pratice.py
请输入成绩?88
B
D:\Python_work>pratice.py
请输入成绩?75
C
D:\Python_work>pratice.py
请输入成绩?55
D
但是上面的的代码有一点小问题,只要输入的数字 >= 90,就可以打印出A,而成绩最高是 100,所以我们需要修改代码
# 修改后的程序
score = int(input("请输入成绩?"))
if score < 60: # 成绩 < 60
print('D')
elif score < 80: # 成绩 60~80
print('C')
elif score < 90: # 成绩 70~90
print('B')
elif score <= 100: # 成绩 90~100
print('A')
代码执行结果为:
D:\Python_work>pratice.py
请输入成绩?101
D:\Python_work>pratice.py
请输入成绩?100
A
这样就不会超出成绩的范围了,或者我们还可以这样修改一下
# 修改后的程序
score = int(input("请输入成绩?"))
if score < 60: # 成绩 < 60
print('D')
elif score < 80: # 成绩 60~80
print('C')
elif score < 90: # 成绩 70~90
print('B')
elif score <= 100: # 成绩 90~100
print('A')
# 新增加的部分
else:
print('输入有误,请重新输入!')
代码运行结果为:
D:\Python_work>pratice.py
请输入成绩?101
输入有误,请重新输入!
D:\Python_work>pratice.py
请输入成绩?88
B