2017-10-28 26 views
0

私は動物、文字、数字を選ぶ宝くじプログラムを作ろうとしています。それらは配列に入れられ、ランダムに選択された部分を持つものと比較されます。whileループが終了した後のすべて

私が動物ラウンドと呼んでいるものでテスト。

私は無効なエントリのwhileループを持っています.4つの動物の1つが受け入れられるまで移動しません。しかし、そうすると、無効な変数はfalseになり、それ以降のコーディングはまったく使用されません。私は最後の夜にこの問題を抱えていました。私が最終的にあきらめて寝るとき、私はフローアルゴリズムで書きますと決めました(流れ図を聞いていないと、ステップ)。

私はそれを作って、それは期待どおりに機能し、それをコピーアンドペーストして、私は昨夜とまったく同じ問題を抱えています。

ここにコードがあります。

#import library 

import random 

#get variables 

game = True 
invalid = True 
animalarray = [""] 

animalarray.append("tiger") 
animalarray.append("cow") 
animalarray.append("turtle") 
animalarray.append("bird") 
lotteryarray = [""] 

#game loop 

#animal round 

    print("Pick a animal: ") 
    print("tiger") 
    print("cow") 
    print("turtle") 
    print("bird") 
    print(" ") 
    lotteryarray[0] = input() 

#while loop for invalid entry 

    while invalid == True: 
     if lotteryarray[0] == "tiger" or lotteryarray[0] == "cow" or lotteryarray[0] == "turtle" or lotteryarray[0] == "bird": 
      invalid == False 
     else: 
      print("Invalid entry!") 
      lotteryarray[0] = input() 
    print(" ") 
    print("You chose " + lotteryarray[0]) 

game == False 

そして、これは私がシェルに入るすべてです:

Pick a animal: 
tiger 
cow 
turtle 
bird 

tiger 

虎、それが印刷されていない、私が入れ何があります。

ここで私が言ったように、フローアルゴリズムはこのアルゴリズムで動作します。

flowgorithm of lottery game

答えて

1

私はそれを考え出しました。

Falseに変更した後に無効なものが印刷され、変更されなかったため、2つの等号を1つに変更して値を変更しました。

関連する問題