編輯:隨機「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...
您在環路之前接受'numberindex',所以它的值在每次循環時都是相同/不變的。 。 。 – ernie
您只生成一個隨機數。在循環中獲取一個新的隨機值。 –
輕微:您的「numberlist」只包含字符串.. – DSM