if else语句无法正常工作

时间:2016-01-12 06:32:49

标签: python

grade=['A good','B ok','C bad']
for item in grade:
    if item[0] == 'A':
        print('Excellent')
    if item[0] == 'B':
        print('Nice')
    else:
        print('Work harder')

我希望A只打印'优秀'而B打印'好',而c(否则)打印'努力工作'。但A和B都打印'Work Harder',C(else)不打印任何东西。有什么方法可以解决这个问题?

结果

Excellent
Work harder
Nice
Work harder

3 个答案:

答案 0 :(得分:4)

你应该这样做。

grade=['A good','B ok','C bad']
for item in grade:
    if item[0] == 'A':
        print('Excellent')
    elif item[0] == 'B':
        print('Nice')
    else:
        print('Work harder')

它不起作用的原因是因为你处理的两个条件不是单个单元,如果你测试多个值总是使用if - elif - else而不是if - if - else

答案 1 :(得分:2)

您与AB分开处理C。使用elif

将它们连接到一个结构中
elif item[0] == 'B':

答案 2 :(得分:1)

您需要if-else if-else流程。只需将第二个if更改为elif

    grade=['A good','B ok','C bad']
    for item in grade:
        if item[0] == 'A':
            print('Excellent')
        elif item[0] == 'B':
            print('Nice')
        else:
            print('Work harder')