Это не имеет ничего общего с Jython.Все, что вам нужно сделать, это сделать отступ для целого if score [...]
-блока на том же уровне, что и score_list.append(score)
.
. Проблема с вашим кодом состоит в том, что этот блок находится за пределами while
-блока, поэтомуВы расширяете course_list
и score_list
до ввода q
, но только после этого вы берете последний счет и удлиняете grade_list
один раз.
Так что grade_list
всегдаимеет длину 1 (или 0, если курс не задан), и индексирование final_list[j][i]
завершается неудачно, поскольку ожидается, что длина course_list
будет равна длине grade_list
.
course_list = []
score_list = []
grade_list = []
while True:
course = requestString("Enter a class name or 'q' to quit")
if course == 'q':
break
else:
course_list.append(course)
score = requestString("Enter the class score")
score_list.append(score)
# this has to happen inside the while-loop:
if score >= 90:
grade_list.append(" A")
elif score >= 80:
grade_list.append(" B")
elif score >= 70:
grade_list.append(" C")
elif score >= 60:
grade_list.append(" D")
else:
grade_list.append(" F")
print "-=Class Scores=-"
final_list = [course_list, grade_list]
for i in range(len(course_list)):
final = ''
for j in range(len(final_list)):
final += (final_list[j][i])
print final