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
答案 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)
您与A
和B
分开处理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')