2017-03-01 11 views
1

私は7つの整数の配列に乱数0-9を渡すCOP1000用のランダム抽選番号ジェネレータを作成しました。しかし、私が配列を印刷すると、同じ出力が7回取得されます。それはループの1つに問題があるかもしれませんが、どこから来ているのか分かりません。どんな助けでも大歓迎です。ここでループ出力を複数回出力する

コードです:これにより

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]) 
+1

あなたは* 7回同じ*「配列」を印刷している –

+0

最後 'for'ループを取り出します。あなたは出力を一度だけ印刷したいだけです。 – Peter

答えて

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]) 

あなたがループ内で、リスト全体を印刷しています。リスト全体をループするか、全体を印刷するかどちらかを実行しないでください。あなたがあなたがにそれらをプッシュした後の値をプリントアウトする方法を混同しているようだTigerhawkT3で述べたように

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

:この問題を解決し、ご希望の出力を生成する最も簡単な方法は、以下で上記のコードを交換することですあなたの配列。

This linkが異なる容量のループのために使用する方法を示しています(あなたはそれがリスト内のすべての項目に印刷したい場合を除きまた、あなたは、ループ内で、最初のprint文を入れたくないでしょう)。あなたの問題を解決する1つの方法は、次のようになります。

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] 

あなただけの1つの印刷文で区切りを持つすべての番号を印刷しようとしている場合は最後に、その後解決策だったthis questionまたはthis oneの重複多分このように思える:

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

こんにちはアラン、本当にありがとうございます。私はPython 3.6を使用していますので、最後の例のprint文は次のようになります:print( "\ nランダム抽選番号は:") print( "、" .join(numbers))しかし、 .join()は文字列を要求します:TypeError:シーケンスアイテム0:期待されるstrインスタンス、int found numbers = []を文字列に変更する必要がありますか? – Shamar

+0

map(str、numbers)を使って配列要素を文字列に変換するための答えをこの記事ごとに更新しました:http://stackoverflow.com/questions/3590165/joining-a-list-that-has-integer-values -with-python –

-1

これが役立つことを願っています。あなたがしたことを私が試してみました。私はこれを行うことができました。私はこれがあなたが探しているものだと願っています。

# Used Python 3.6 IDLE (32-bit) to code sample 

# Sample Output 

# Your Numbers Are: 6 2 1 0 9 1 7 
# main() 
# Your Numbers Are: 7 4 7 0 9 7 9 
# main() 
# Your Numbers Are: 3 8 3 7 0 9 4 
# main() 
# Your Numbers Are: 2 3 4 8 1 5 4 


# This is the main function of our Python Script 
def main(): 

# IMPORTS 
import random # Our Built-Library containg the Python random function 

# DECLARATIONS 
Arr_myNumbers = [] 

# Populate our array with 7 spots 
for x in range(7): 
    Arr_myNumbers.append( random.randint(0 , 9) ) 


print('Your Numbers Are:' , Arr_myNumbers[0] 
          , Arr_myNumbers[1] 
          , Arr_myNumbers[2] 
          , Arr_myNumbers[3] 
          , Arr_myNumbers[4] 
          , Arr_myNumbers[5] 
          , Arr_myNumbers[6] 
          , end = '\n' 
    ) 




# Tells Python to execute our method when it executes 
main() 
関連する問題