Проблема, которую я вижу здесь, заключается в том, что вы пытаетесь выполнить неравенства по строкам, а не по числам. Попробуйте ввести ваши входные значения в целые числа.
Если хранить значения в 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
im, пишу программу, в которой пользователь просит указать номер, как вы видите там, и этот номер должен быть восстановлен в списке, и после этого мне нужно проверить, является ли номер A или b или c или d или f – noel
Позвольте мне перефразировать мой вопрос: когда вы видите приглашение во время отладки, что вы вводите в качестве ответа? Мы должны иметь возможность тиражировать ваши данные. – Andy