这是我正在为一堂课解决的问题(以下是我的问题和我编写的代码):
该程序应接受一系列学生及其考试成绩以响应“?” 迅速的。输入两位数的考试分数(没有人得到 100 或低于 10)、一个空格和学生的姓名。继续输入这些直到用户输入“停止”——你的程序应该能够处理任何形式的“停止”——例如,“停止”、“停止”、“停止”、“停止”等。然后你应该显示按考试成绩排序的学生姓名列表(从低到高)。例如(用户输入带有下划线):
? 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])