這是我工作的一類問題(下面是我的問題,我的代碼寫):初級指數超出範圍蟒蛇
方案應接受一系列的學生和他們的考試分數迴應 「?」提示。輸入兩位數的考試分數(沒有人得到100分或少於10分),一個單獨的 空間和學生的名字。繼續輸入,直到用戶輸入「Stop」 - 您的程序應該能夠處理任何形式的「Stop」 - 例如,「stop」,「Stop」, 「STOP」,「sTOP」等。 然後應該顯示按照考試成績排列的學生姓名列表(低至 高)。 例如(用戶輸入下劃線):
? 23 Warren
? 44 Dona
? 33 Tom
? stop
Warren
Tom
Dona
於是我明白了一切我已經寫了,我明白,這不是一個特別複雜的問題。雖然,我寫代碼的方法是,當我輸入「stop」來顯示已完成輸入的程序時,它會在for循環中運行輸入「stop」,從而創建超出範圍錯誤的索引。我如何讓它只在while循環中運行「停止」,而不是在for循環中?
students = []
nameScore = ""
while (nameScore.lower() != "stop"):
nameScore = input ("? ")
students.append(nameScore)
students.sort()
for student in students:
x = student.split()
print (x[1])