a = 4.0
b = 3.0
c = 2.0
d = 1.0
f = 0.0
counter = 0
gpa = 0
while True:
grade = input("what is your grade ")
if(grade == "A" or "a"):
counter += 1
gpa += a
elif(grade == "B" or "b"):
counter += 1
gpa += b
elif(grade == "C" or "c"):
counter += 1
gpa += c
elif(grade == "D" or "d"):
counter += 1
gpa += d
elif(grade == "F" or "f"):
counter += 1
gpa += f
elif (grade == ""):
finalgrade = (gpa/counter)
print(finalgrade)
break
else:
print ("invalid input")
所以我一直在努力得到这项工作,但无论我做什么,我不能明白。。。。。 当我使用调试器时,它并没有多大帮助,但是它说,所有的elif语句都是这样
这是:
并不像你想象的那样。由于python中的运算符优先级,它先计算
grade=="A"
,然后再计算or
和"a"
。它的计算结果总是True
。你知道吗改用
in
运算符:或者,更好的是:
而不是
使用
或者
同样地更改其他语句。你知道吗
尽管我愿意
相关问题 更多 >
编程相关推荐