本节概要
- 比较操作符
- 布尔操作符
- if条件语句
程序实例3
在上一节我们学会了如何通过input()输入姓名和成绩,然后通过int()或者float()把成绩由字符串转化为数字,最后通过print()输出信息。
现在我们给学生成绩录入程序新增一个根据成绩划分成绩等级的功能。我们制定如下的规则:
- 如果分数大于等于60分,那么成绩等级为“及格”;
- 否则,成绩等级为“不及格”。
接下来我们就学习一下怎么把上面的成绩等级判断规则“如果...那么...否则...”变成Python程序语言。要想实现上面的功能,就必须得了解比较操作符以及条件语句。在python中比较操作符的定义如下表所示:
比较操作符 | 意义 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 相等 |
!= | 不相等 |
我们测试几个例子,输入300 > 200,这个显然是不成立的,所以返回了False。输入-1 <= 8,这是成立的,所以返回了True。这里的False和True称作布尔操作符,分别表示真和假。
>>> 300 > 200
>>> False
>>> -1 <= 8
>>> True
在程序中我们时常需要做一些条件判断,当满足某些条件的时候执行某些步骤,当不满足该条件的时候执行其他的步骤,如下图所示:
如果[条件]为真:
那么,执行此处
否则:
执行此处
把上述的语句转化为python的if条件语句并应用于本例,代码写作:
if score >= 60:
level = '及格'
else:
level = '不及格'
大家使用if条件语句的时候需要注意格式,if和else为关键字,冒号不可少,冒号后的语句需要缩进,一般使用4个空格当作缩进符。
下面给出完整的程序代码:
print("请输入姓名:")
name = input()
print("请输入成绩:")
score = input()
score = int(score)
# 判断成绩的等级
if score >= 60:
level = '合格'
else:
level = '不合格'
print("{0}同学你的分数为{1}分,等级为【{2}】".format(name, score, level))
我们运行上面的代码,最终效果如下所示:
程序实例4
在上面的例子中我们按照60分为界限区分合格和不合格,现在我们进行更细致的等级划分:
- 如果分数大于等于80分,那么成绩等级为“优秀”;
- 如果分数大于等于60分,小于80分,那么成绩等级为“合格”;
- 否则,成绩等级为“不及格”。
利用在程序实例3学的if条件语句可以写为如下的形式:
if score >= 80:
level = '优秀'
else:
if score >= 60:
level = '合格'
else:
level = '不合格'
print("{0}同学你的分数为{1}分,等级为【{2}】".format(name, score, level))
这样写虽然正确,但是比较写起来比较麻烦。假如我们再加一个条件70~80成绩为良好,那么上面的if-else语句还得再嵌套一层。为了简化这种情况,我们可以使用if-elif-else语句。将上面一段代码改为if-elif-else的形式:
if score >= 80:
level = '优秀'
elif score >= 60:
level = '合格'
else:
level = '不合格'
本节总结
本节主要介绍的内容包括:
- 比较操作符,布尔操作符。
- if条件语句。可以单独使用if,也可以使用if-else,或者if-elif-else。
if条件语句是编程中经常使用的语句,请读者朋友们务必熟练掌握。在学习过本节两个例子后,请大家课后再多多练习一下条件语句的使用吧。
下一节我们将继续丰富这个小程序,学习如何对特定姓氏的同学加分。届时会介绍一些字符串相关的操作,我们下一节再见吧。