2017-04-13 12 views
-2

あなたが特定のものを見いだすようなゲームを作ろうとしていますが、新しいアイテムを生成するときには常にそれが繰り返されます。どんな解決策も大いに評価されるでしょう。ありがとうなぜ私のプログラムはそれ自身を繰り返すのですか

import random 
cards=["3","helicopter","skip","chimmney","balloon","plane","bridge"] 
while list is not []: 
    card1=random.choice(cards) 
    cards.remove(card1) 
    card2=random.choice(cards) 
    cards.remove (card2) 
    print "card 1 = ",card1 
    print "card 2 = ",card2 
    choice=raw_input("type the card that you have found: ") 
    if choice ==card1: 
     card1=random.choice(cards) 
     print "card 1 = ",card1 
    else: 
     card2=random.choice(cards) 
     print "card 2 = ",card2 
+0

「リスト」とは何ですか?「カード」ですか? – MooingRawr

+0

** list **はあらかじめ定義されたタイプです。あなたは何をしようとしているのですか? – Prune

+0

whileのリストを[while]に変更します。前者は組み込みの 'list'が決して' [] 'であるかどうかを調べていることに注意してください。 – khachik

答えて

-2

プログラムが無限ループになるのは、配列が空になるまで機能しますが、すべてのオブジェクトを決して削除しないためです。

import random 
cards=["3","helicopter","skip","chimmney","balloon","plane","bridge"] 
running = True 
while running: 
    card1=random.choice(cards) 
    cards.remove(card1) 
    card2=random.choice(cards) 
    cards.remove (card2) 
    print "card 1 = ",card1 
    print "card 2 = ",card2 
    choice=raw_input("type the card that you have found: ") 
    if choice ==card1: 
     card1=random.choice(cards) 
     print "card 1 = ",card1 
     running = False 
    else: 
     card2=random.choice(cards) 
     print "card 2 = ",card2 
     running = False 
+0

'リストは[]ではありません。常に' True'を評価するので、ループは終了しません。 –

+2

なぜあなたはここで 'while 'を使うのですか? – gurka

+0

ありがとうございます –

関連する問題