Skip to main content
 首页 » 编程设计

python之在 python 3 中生成随机整数列表

2025年05月04日13bluestorm

我在尝试运行该程序时遇到 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()

完成的