章节
问答
课签
笔记
评论
占位
占位

Python之if-elif-else语句

在100分的考试当中,分数达到或超过90分是顶尖的,达到或超过80分是优秀的,如果想对达到或者超过60分的学生进行不同的分类,使用if-else进行判断,代码如下:

score = 59
if score < 60:
    print('抱歉,考试不及格')
else:
    if score >= 90:
        print('恭喜你,拿到卓越的成绩')
    else:
        if score >= 80:
            print('恭喜你,拿到优秀的成绩')
        else:
            print('恭喜你,考试及格')

在这个程序里,我们做了多次分类,第一次,我们把低于60分和大于等于60分的分开,第二次,我们把大于等于90分和小于90分的分开,第三次,我们把大于等于80分和小于80分的分开。
这样写,我们得到一个两层嵌套的if-else语句,这样的实现可以满足我们的要求,但是如果继续增加条件,比如继续判断高于70分和低于70分的话,那么这个代码将会缩进越来越多,代码逻辑看起来也不够清晰。
我们可以使用if-elif-else语句来简化以上的逻辑。其中elif就是else if的意思。

score = 59
if score < 60:
    print('抱歉,考试不及格')
elif score >= 90:
    print('恭喜你,拿到卓越的成绩')
elif score >= 80:
    print('恭喜你,拿到优秀的成绩')
else:
    print('恭喜你,考试及格')

这样,我们就可以写出代码结构非常清晰的一系列条件判断了。
特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。
请思考以下代码将会输出什么?为什么不输出恭喜你,拿到卓越的成绩

score = 95
if score < 60:
    print('抱歉,考试不及格')
elif score >= 80:
    print('恭喜你,拿到优秀的成绩')
elif score >= 90:
    print('恭喜你,拿到卓越的成绩')
else:
    print('恭喜你,考试及格')

任务

如果年龄达到18岁,则是成年人,如果年龄6岁到18岁,则是青少年,如果年龄3岁到6岁,则是小孩子,如果年龄在3岁以下,则是婴儿,请使用if-elif-else语句实现逻辑,如果成年,输出'adult',如果是青少年,输出'teenager',如果是小孩子,输出kid,如果是婴儿,输出baby。

?不会了怎么办

多个条件判断需要使用多个elif。

参考答案:

age = 1
if age >= 18:
    print('adult')
elif age >= 6:
    print ('teenager')
elif age >= 3:
    print ('kid')
else:
    print ('baby')
||
1
2
# Enter a code
age = ?
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / AI小慕
根据你的描述,你遇到了一个关于Python中if-elif-else语句的语法错误。具体来说,错误信息提示“SyntaxError: multiple statements found while compiling a single statement”,这通常意味着在同一行内有多个语...

最新回答 / 忠诚的汤姆_erCLMP
代码是从最上面一行一行开始运行,运行到elif score>=80,score符合要求就输出了

最新回答 / 慕姐6004648
我执行是没问题的,你贴出来的代码没有格式,只能推测是你缩进的问题。贴图是我执行成功的脚本<...图片...>

最新回答 / 慕雪8307272
<...code...>

最新回答 / weixin_慕仰5372343
前面加一句 # coding=utf-8

最新回答 / 慕妹6595207
条件没写全面,青少年是6-18岁,条件应该这样加   19>age>6

最赞回答 / MakerFly
使用input()函数可以接收任意age,然后将它保存在变量里qwq例如:age = input()

最新回答 / 慕数据8008270
每次单击tab键会增加四个字符的缩进,在嵌套的循环中用缩进标识循环的范围。

最新回答 / qq_慕神7227070
这个就是大家默认的一个规则而已,比如在linux的终端你可以修改你的默认的tab空格数

最新回答 / 慕数据3153193
可以输的,但在这个里面输不了,你去python的运行环境中就可以<...图片...>

最新回答 / LVXC
第五行90后面的冒号你用成了中文的,应该改成英文的冒号。
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言