我可以在for循环中打印每个值吗?

时间:2013-11-24 15:30:10

标签: python loops

我仍然是Python的初学者,在经过大量的Google搜索和Stack Overflow搜索之后,我仍然找不到我认为对我的问题的简单答案。我试图制作一个简单的Python程序,该程序将为学生的名字和10个值取10个值,以记录每个学生在将它们打印成矩阵之前的缺席量。这最终工作正常,但我只能通过使用类似的东西来实现:

student0 = raw_input("Enter Student 1's name: ")
student0Abs = raw_input("Enter Student 1's absences: ")

当我想做类似的事情时:

for s in range(1,11):
    students = str(raw_input("Enter student name " + str(s-1) + ": "))

因此,每次我想做某事时,我都不需要写10次相同的行(我无法弄清楚如何使用上面的行来打印所有单个输入并将它们放在矩阵中) 。这是可能的,如果是这样,有人可以帮我一个链接或解决方案本身?如果是的话,非常感谢!

2 个答案:

答案 0 :(得分:2)

你可以很容易地把它放在循环中,这不是问题:

students = []
student_abs = []
for i in range(10):
    students.append(raw_input("Enter Student %d's name: " % i+1))
    student_abs.append(raw_input("Enter Student %d's absences: " % i+1))

在您的示例中,您每次都会覆盖students的值。把它放在一个列表中,你会没事的!

答案 1 :(得分:0)

使用词典列表:

students = []
for num in range(1, 11):
  students.append({
    "name": raw_input("Enter Student %i's name: " % num),
    "absences": raw_input("Enter Student %i's absences: " % num)
  })