2017-03-29 6 views
-1

は、以下の私のコードは次を参照してください。ループは停止しませんが、ネストされたループとif文で

x = -1 
num = -9 

print("For exit press 0") 

while (x != 0): 
    num = input("Enter a number :") 
    print("You entered: ", num) 
    x = num 
    if x == 0: 
     break 


print("Good bye!") 

コードが0の値として供給されても停止しません。考えられる理由は何でしょうか。 ありがとう!

+1

使用している言語を明確にしてください。 Pythonのように見えます。 –

+0

私にとってこれは機能します(これがPythonコードの場合)。私のPython 2.7.6(OSX) –

+0

それは私と一緒に働いた、私はちょうどコードをコピーし、それを実行し、期待どおりに動作する、私はPython 2.7だよ –

答えて

0

問題は、文字列と整数を比較していることです。 Pythonは弱く型付けされているので、警告は表示されません。

さらに、input()は、Python 2に

ノート意図したとおりのコードが動作する理由ですPythonの3のPython 2で入力をキャストではなく: あなたはしばらくの条件のために括弧を必要としませんが。 物を出力するには、文字列を書式設定することをお勧めします。

x = -1 

print("To exit press 0") 

while x != 0: 
    num = input("Enter a number:") 
    print("You entered: {}".format(num)) 
    x = int(num) 
    if x == 0: 
     break 

print("Good bye!") 
+0

ありがとう!上記の答えの手がかりに基づいて修正しなければならなかった唯一の行は、次の通りです。 x = int(num) int()を追加して、数値が変数xに入るようにしました。働いた。 –

関連する問題