[英]Loop printing output multiple times
我為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])
有了這個:
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)
正如TigerhawkT3所述,一旦將值推入陣列,您似乎對如何打印出值感到困惑。 ( 另外,您不希望將初始print語句放在循環中,除非您希望它為列表中的每個項目打印 )
此鏈接顯示如何使用不同容量的循環。 解決問題的一種方法是:
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]
最后,如果你只是想在一個print語句的分隔符打印所有的數字那么看起來這可能的重復這個問題,或者這個地方的解決辦法是:
print("\nYour random lottery numbers are:")
print ', '.join(map(str, numbers))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.