python – 如何为2个不同的列表使用一个’for循环’

前端之家收集整理的这篇文章主要介绍了python – 如何为2个不同的列表使用一个’for循环’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想在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.

猜你在找的Python相关文章