fgrades=["90","70","63","81","49"]
a=0
b=0
c=0
d=0
f=0
grades=raw_input("enter your final grade: ")
fgrade+=(grades,)
for i in range(len(fgrades)):
if fgrades[i]>="90":
a+=1
elif fgrades[i]>="80":
b+=1
elif fgrades[i]>="70":
c+=1
elif fgrades[i]>="60":
d+=1
else:
f+=1
print a,"\n",b,"\n",c,"\n",d,"\n",f
当我把所有数字中的所有东西都放入F之后,即使输入96,也会发生这种情况。你知道吗
首先,您尝试对字符串执行大于或等于数字的操作。如果要比较数字,则必须将它们转换为数字数据类型(int、float、decimal)。你知道吗
其次,安迪的评论也是正确的。
fgrade
还没有作为变量/对象存在。你知道吗下面是一些建议,您可以考虑对代码进行修改。你知道吗
首先,您可以将for循环语句从
至
因此接下来,您只需要对值
i
而不是fgrades[i]
进行比较所以你的代码是
我在这里看到的一个问题是,您试图对字符串而不是数字执行不等式。尝试将输入值转换为整数。你知道吗
如果将fgrades中的值存储为整数,例如[90、70、60、88、96],那么这应该可以:
否则,如果出于某种原因要求将成绩存储为字符串,例如[“90”、“70”、“63”、“81”、“49”],则以下内容适用于您:
相关问题 更多 >
编程相关推荐