文章目录

(一)、为什么要使用 if 语句

  1. 当我们写一段简单的代码,比如选举投票,投完票会打印一段文字:投票成功
# 选举投票

# 输入你的年龄
age = int(input("请输入你的年龄?"))

print("投票成功!")

程序运行结果:

投票成功!	# 程序运行结果
  1. 但是年龄不到18周岁的不可以进行投票的,上面的代码所有人买票都会打印 “投票成功!”的文字,所以我们需要对上面代码进行修改,这时候就用到了 if 语句
# 选举投票

# 输入你的年龄
age = int(input("请输入你的年龄?"))

if age >= 18:
# 如果年龄满18岁,打印投票成功
    print("投票成功!")

程序运行结果:

# 程序运行结果
请输入你的年龄?18
投票成功!			# 年龄 >= 18 打印字样

请输入你的年龄?11	# 年龄  < 18 不打印字样
  1. 简单来说: if 语句可以让我们对信息进行挑选,选择需要的那部分信息,而过滤掉无用的信息

(二)、一个简单的 if 语句

  1. 语法格式:
if 测试条件:
	执行操作
  1. 示例:
# 选举投票

# 输入你的年龄
age = int(input("请输入你的年龄?"))

if age >= 18:
# 如果年龄满18岁,打印投票成功
    print("投票成功!")

程序运行结果:

# 程序运行结果
请输入你的年龄?18
投票成功!			# 年龄 >= 18 打印字样

请输入你的年龄?11	# 年龄  < 18 不打印字样

(三)、if else 语句

我们经常需要在测试通过是执行一个操作,不通过时执行另一个操作,这时简单的 if 语句已经满足不了,可是使用 if else 语句

  1. 语法格式:
if 测试条件:
 	操作 1
 else:
 	操作 2
  1. 示例:以刚才的选举投票为例,我想在满 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 语句

  1. 语法格式
if 测试条件 1:
	操作 1
elif 测试条件 2:
	操作 2
else:
	操作 3
  1. 示例:当测试条件不止一个时,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

  1. 语法格式
if 测试条件 1:
	操作1
elif 测试条件 2:
	操作 2
elif 测试条件 3:
	操作 3
...
else:
	操作 n

其中最后一个 else 可以不写

  1. 示例:

问题:请输入一个成绩,并打印相应的成绩等级(成绩 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
10-07 17:49