循环打印输出多次

时间:2017-03-01 23:22:33

标签: python arrays list python-3.x loops

我为COP1000创建了一个随机抽奖号码生成器,它将随机数0-9传递给7个整数的数组。但是,当我打印数组时,我得到相同的输出7次。这可能是其中一个循环的问题,但我不确定它来自何处。任何帮助将不胜感激。

以下是代码:

import random
print("Seven lucky numbers; are you ready?")

numbers = [0,0,0,0,0,0,0]



index = 0
while index<len(numbers):
    numbers[index] = random.randint(0,9)
    index = index + 1

for n in numbers:
    print("\nYour random lottery number is:")
          print(numbers[0],numbers[1],numbers[2],numbers[3],numbers[4],numbers[5],numbers[6])

2 个答案:

答案 0 :(得分:0)

有了这个:

for n in numbers:
    print("\nYour random lottery number is:")
    print(numbers[0],numbers[1],numbers[2],numbers[3],numbers[4],numbers[5],numbers[6])

您正在循环打印整个列表。要么循环遍历列表,要么打印整个事物,但不要同时执行这两项操作。解决此问题并生成所需输出的最简单方法是使用以下代码替换上述代码:

print("\nYour random lottery number is:")
print(*numbers)

答案 1 :(得分:0)

正如TigerhawkT3所述,一旦你将它们推入阵列,你似乎对如何打印出这些值感到困惑。 (你也不想把初始的print语句放在循环中,除非你想要为列表中的每一项打印

This link显示了如何使用不同容量的循环。解决问题的一种方法是:

print("\nYour random lottery numbers are:")
for n in numbers: 
  print n

如果您想循环并使用某种字符串打印出每个值,或者可以使用1个项目:

print("\nYour random lottery numbers are:")
for index in range(len(numbers)):
  if index == len(numbers) - 1:
    print "power number: ", numbers[index]
  else:
    print index, ' : ', numbers[index]

最后,如果您只是尝试在一个打印语句中使用分隔符打印所有数字,那么看起来这可能是this questionthis one的副本,解决方案是:

 print("\nYour random lottery numbers are:")
 print ', '.join(map(str, numbers))