我在這裏可以看到的一個問題是,您嘗試對字符串執行不等式,而不是數字。嘗試將輸入值轉換爲整數。
如果存儲在fgrades爲整數,例如值[90,70,60,88,96]那麼這應該工作:
fgrades=[90, 70, 60, 88, 96]
a=0
b=0
c=0
d=0
f=0
grades=raw_input("enter your final grade: ")
# Clean up grades, and convert to an integer
grades = int(grades.strip().replace(" ","")
fgrades.append(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
否則,如果由於某種原因需要等級是存儲爲字符串,如[ 「90」, 「70」, 「63」, 「81」, 「49」],那麼下面應該爲你工作:
fgrades= ["90","70","63","81","49"]
a=0
b=0
c=0
d=0
f=0
grades=raw_input("enter your final grade: ")
# Clean up grades
grades = grades.strip().replace(" ","")
fgrades.append(grades)
for i in range(len(fgrades)):
if int(fgrades[i])>=90:
a+=1
elif int(fgrades[i])>=80:
b+=1
elif int(fgrades[i])>=70:
c+=1
elif int(fgrades[i])>=60:
d+=1
else:
f+=1
print a,"\n",b,"\n",c,"\n",d,"\n",f
您的輸入是什麼?另外,'fgrade + =(grades,)'這行應該使用一個存在的變量,如果你正在添加它的話。你的意思是'fgrades'? – Andy 2014-11-25 03:24:01
即時通訊編寫一個程序,要求用戶輸入一個號碼,因爲你看到那裏,該號碼應該恢復在列表中,然後我需要檢查該號碼是一個A或B或C或D或F – noel 2014-11-25 03:28:10
讓我重述一下我的問題:當您在調試時看到提示時,您輸入了什麼答案?我們需要能夠複製您的輸入。 – Andy 2014-11-25 03:29:20