に持つ:メニューナビゲーションこれが私の小さなメニューナビゲーションifとelseステートメントである場合、他のPython
def navigation():
navigation_eingabe = int(input())
if navigation_eingabe == 1:
met1()
if navigation_eingabe == 2:
pass
if navigation_eingabe == 3:
pass
if navigation_eingabe == 4:
pass
if navigation_eingabe == 5:
pass
if navigation_eingabe == 6:
pass
else:
print("Pls give only Integer numbers")
def met1():
print("method1")
met2()
def met2():
print("method2")
navigation()
その私は1などの入力を与えた後、コードは、その後、MET1になり、正常に動作していませんmeth2に、そしてelse文に渡されます。どうしてか分かりません?
そして私は一例で、このalternativコードプログラム:
def navigation():
x = int(input())
if x == 1:
print("1")
xx1()
if x == 2:
print("2")
xx2()
else:
print("else statement")
def xx1():
print("this is met1")
def xx2():
print("this is met2")
navigation()
しかし、このコードでは、ステートメントがなぜ最初のコードでは、正しく動作しているの?これは関数型プログラミングロジックや文構造体に問題がありますか?私はこの2つのコードの違いを見ることはできません。
ありがとうございました!
これは、このコードのロジックに問題があります。複数の 'if'の代わりに' elif'を使うべきです。どうして?ペンと紙でコードをステップ実行します。最初の5つの条件のいずれかが満たされた後に実行が停止しますか? – ForceBru
あなたの最後の 'if'は' navigation_eingabe'が '6'なら何もせず、それ以外の場合にはメッセージを表示します。 '1'は' 6'ではないので、メッセージを表示します。 – melpomene