我希望程序允许你输入5个学生的名字和学生的分数。然而,每次我运行它,它不接受学生的名字。
students=[]
for num in range(5):
x=input("Enter name of students: ")
students.append(x)
marks=[]
for num in range(5):
y=input("Enter marks of students:")
marks.append(y)
report = input("Do you want to print class report?: ")
if report == 'yes':
print(x[0],":", y[0])
print(x[1],":", y[1])
print(x[2],":", y[2])
print(x[3],":", y[3])
print(x[4],":", y[4])
发布于 2018-04-12 13:53:02
以下是一些工作代码:
n = 5
students=[]
for num in range(n):
x=raw_input("Enter name of students: ")
students.append(x)
marks=[]
for num in range(n):
y=raw_input("Enter marks of students:")
marks.append(y)
report = raw_input("Do you want to print class report?: ")
if report == 'yes':
for i,j in zip(students, marks):
print(i,':', j)
解释
解决了几个问题:
list.append
。zip
,循环通过对学生,标记数据。raw_input
而不是input
。发布于 2018-04-12 13:53:21
while Name != "":
i.append(x)
将永远循环(并附加)如果Name != ""
.( i
和Name
是什么?)
在python2.7中,您应该使用raw_input
一个快速的解决办法是:
for num in range(5):
x=raw_input("Enter name of students: ")
if x == "":
break
students.append(x)
尽管如此,为什么同时有一个中断条件和一个高达5的循环呢?为什么不直接
for num in range(5):
x=raw_input("Enter name of students: ")
students.append(x)
发布于 2018-04-12 13:55:02
不清楚该代码是否会按编写的方式运行。Name
和i
从来没有定义过。
在Python2中,您需要使用raw_input来接受输入,否则,您输入的内容将由Python在内部进行计算。
此外,您还可以组合这些循环来收集元组,而不是构建并行列表。
students=[]
for num in range(5):
x=raw_input("Enter name of students: ")
y=raw_input("Enter marks of students:")
students.append((x,y,))
report = raw_input("Do you want to print class report?: ")
if report == 'yes':
for x, y in students:
print(x,":", y)
https://stackoverflow.com/questions/49798329
复制相似问题