2016-10-05 9 views
0

非常に基本的な質問ですが、私はPythonには新しく、if/else/elifと一緒にループを理解するのに役立つ小さなテキストアドベンチャーゲームに取り組んでいます。 whileループをコードに導入するまではうまくいきました。最初に、ユーザは、ユーザが何か他のものを入力した場合、そのドアを選択して頂くように頼んだ場合、右または左に歩くためにドアを選択することになっています。それは正しくやっていますが、右か左にタイプすれば、それはあなたのドアを選択するように依頼します。PythonのループとOR関数が期待した結果を得られない

door1 = 'right' 
door2 = 'left' 
print("Please type the name you'd like to use") 
myName = input() 
print("Hello " + myName) 
print("Would you like to go through the door on the left or the door on the right?") 
while True: 
    print("Please type left or right to indicate the door you choose") 
    door = input() 
    if door != door1 or door2: 
     continue 
+0

まず、printステートメントをinput()内に置くことができます。第二に、条件付きの後にコードはありません...あなたのループ条件が真であるので、ループはちょうど実行し続けるでしょう...あなたが選択した時に起こったことを私たちに(あなたのコード) "left"または "right" –

+0

それは実際に私の問題を解決しました!それ以降はコードがありますが、ここに追加するには十分に関連しているとは思わなかったので、ループにコードをインデントしていないので、ループしていたので、何を続けるか。あなたが言うまでそれが問題になるとは思わなかった。 –

+0

あなたのご質問にお答えしてうれしく思いますが、あなたの質問は重複しているとマークされています。まだお持ちでない場合は、[ツアー](http://stackoverflow.com/tour)のサイトをご覧ください。 –

答えて

1

はおそらく意味:何が書かれていることは本質的である

if not door in (door1, door2): 

if (door != door1) or bool(door2): 

そしてbool(door2) == Truedoor2が空の文字列である場合を除きます。

関連する問題