编辑:随机“for循环”输出固定。现在我收到“列表索引超出范围错误”。Python:如何让for循环每次都在列表中打印随机生成的项目?
我打算做一个基于随机生成的字母等级(A-F)的评分程序。该程序要求分配的数量,并打印带有字母等级的分配编号。它还应该可以找到随机生成等级的平均等级。输出应该是这样的:
Assignment 1 grade is an F
Assignment 2 grade is a C
Assignment 3 ...
The average is a ...
我有一个列表设置为随机生成字母等级。我无法设置代码来查找字母等级的平均值。此外,我的循环不会每次都吐出一个新的字母等级,因为它应该是。下面是我的一些代码:
numberlist = []
numberlist.append("A")
numberlist.append("B")
numberlist.append("C")
numberlist.append("D")
numberlist.append("F")
count = 1
for i in range(total):
numberindex = random.randint(0, 5)
print("The grade for assignment", count, \
"is a {}".format(numberlist[numberindex]))
count = count + 1
目前,它打印:
Assignment 1 grade is an F
Assignment 2 grade is an F
Assignment 3 grade is an F...
+1
您在环路之前接受'numberindex',所以它的值在每次循环时都是相同/不变的。 。 。 –
+1
您只生成一个随机数。在循环中获取一个新的随机值。 –
+0
轻微:您的“numberlist”只包含字符串.. –