我在尝试运行该程序时遇到 IndexError: list assignment index out of range 错误。我的索引似乎很好(0 到 8),我认为不需要 .append,因为等号每次传递都会分配随机值。我错过了什么?
import random
#The main function.
def main():
#Welcome message.
print("Welcome to the lottery number generator program!")
print()
#Explain what the program does.
print("Note: This program will randomly generate a 7 digit lottery number and display it to the screen. ")
print("________________________________________________________________________________________________")
print()
print()
#Call the generateNumbers function and store its returned list in variable lotteryNumbers.
lotteryNumbers = generateNumbers()
#Call the printLottery function and pass the lotteryNumbers list as argument.
printLottery(lotteryNumbers)
#The generateNumbers function generated 7 random digits between 0 and 9 stores them in a list and returns the list.
def generateNumbers():
#A list variable to hold empty list.
lotteryNumbers = []
#Declare and set loop counter to 0.
index = 0
for index in range (0,8):
lotteryNumbers[index] = random.randrange(0,10)
index += 1
return lotteryNumbers
def printLottery(lotteryNumbers):
print("Here are the 7 lucky numbers: {}".format(lotteryNumbers))
#End main
main()
请您参考如下方法:
列表不像其他语言中的数组!
lotteryNumbers 被初始化为一个空列表。里面什么也没有。它的长度为零。您需要将 random.randrange(0, 10) 添加到空列表中。这是通过 .append()
