我想在for循环中打印出一个句子,其中为每个不同的情况打印出不同的句子迭代,即我有两个不同的列表:student_result_reading和student_name
student_result_reading = []
student_name = []
while True:
student_name_enter = input("Please enter student name: ")
student_name.append(student_name_enter)
student_enter = int(input("Please enter student result between 0 - 100%: "))
student_result_reading.append(student_enter)
continueask = input("Would you like to enter someone else? ")
if continueask == "yes":
continue
else:
break
for studread,studentname in student_result_reading,student_name:
print("Student Name: {} | Test Name: Reading Test | Percentage score: {}".format(studentname,studread))
这是我的两个问题:
>当我输入2个或更多名称时,它们的格式不正确.
>当我输入1个名字时,我收到一个错误.
任何解决方案的任何帮助表示赞赏.
最佳答案
您可以使用built-in function
zip
:
for studread,studentname in zip(student_result_reading,student_name):
print("Student Name: {} | Test Name: Reading Test | Percentage score: {}".format(studentname,studread))
此外,如果您使用的是Python 2,可能会遇到问题,这两行:
student_name_enter = input("Please enter student name: ")
和
continueask = input("Would you like to enter someone else? ")
即,如果您输入类似学生姓名的内容作为学生姓名的输入,您将获得SyntaxError或NameError.原因是,在Python 2中,输入函数需要有效的Python表达式,在您的情况下,字符串,如“学生姓名”,而不仅仅是学生姓名.要使后面的表达式成为有效输入,可以使用函数raw_input.