为了账号安全,请及时绑定邮箱和手机立即绑定

关于and

score = 85 if score>=90:    print 'excellent' elif score>=80 and score<90: print="" elif="" scroe="">=60 and score<80:    print 'passed' else:    print 'failed' 这样为什么不行呢


正在回答

3 回答

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
task.py
当 age = 8 时,结果正确,但 age = 20 时,为什么没有打印出 adult

age = 8
if age >= 6:
    print 'teenager'
elif age >= 18:
    print 'adult'
else:
    print 'kid'
'''

# age = int(raw_input('请输入你的年龄:'))
age = 20
if age >= 18:
    print 'adult'
elif age >= 6:
    print 'teenager'
else:
    print 'kid'


# 如果按照分数划定结果:
#
#     90分或以上:excellent
#
#     80分或以上:good
#
#     60分或以上:passed
#
#     60分以下:failed

score = int(raw_input('请输入你的成绩:'))
if score >= 90:
    print 'excellent'
elif score >= 80:
    print 'good'
elif score >= 60:
    print 'passed'
else:
    print 'failed'


0 回复 有任何疑惑可以回复我~

score=85

if score>=90:

    print 'excellent'

elif score>=80 and score<90:

    print ""

elif score>=60 and score<80:

    print 'passed'

else :

    print 'failed'

这个程序可以运行,但是and用的没必要,因为这是个嵌套的if-else,前面已经判断了score>=90,后面elif的大条件已经是score<90了



0 回复 有任何疑惑可以回复我~

你这样写是没错的,但是if....elif....elif....else 是分层判断的,当满足一个条件时,就不会再去判读下一个条件了,举个例子,当score为85时,不满足第一个条件,自然进入第二个条件判断(也就是说,能够进入第二判断的先决条件是第一个条件不成立),所以只写score>=80即可,如果再加上score<90则属于重复判断,本身无错,但是程序执行效率降低。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程
意见反馈 帮助中心 APP下载
官方微信