Python3のElseステートメントは常に実行されます

イーライ・リチャードソン

私はPythonで基本的な計算機を作成してきましたが、この問題に遭遇しました。計算が行われた後、「無効な番号」が常に出力され、一時停止が発生します。改行がifブロックを壊すことと関係があると思いますが、よくわかりません。

どんな助けでもありがたいです。前もって感謝します。

def badnum():
        print("Invalid Number")
        print("Press enter to continue")
        input("")
def main():
        print("Select an action ")
        print("1.) Add")
        print("2.) Subtract")
        print("3.) Multiply")
        print("4.) Divide")
        ac = int(input(">>>"))
        if ac == 1:
                print("First number :")
                fn = float(input(">>>"))
                print("Second number :")
                sn = float(input(">>>"))
                a = fn+sn
                print(a)
        if ac == 2:
                print("First number :")
                fn = float(input(">>>"))
                print("Second number :")
                sn = float(input(">>>"))
                a = fn-sn
                print(a)
        if ac == 3:
                print("First number :")
                fn = float(input(">>>"))
                print("Second number :")
                sn = float(input(">>>"))
                a = fn*sn
            print(a)
        if ac == 4:
                print("First number :")
                fn = float(input(">>>"))
                print("Second number :")
                sn = float(input(">>>"))
                a = fn/sn
                print(a)
        else:
                badnum()
print("\n"*100)
while True:
    try:
        main()
    except ValueError:
        badnum()
    except ZeroDivisionError:
        print("Infinity")
    print("\n"*100)
1月

いいえ、それはあなたがあなたのコードをどのように書いたかと関係があります、これを考慮してif...elifください:

ac = int(input(">>>"))
if ac == 1:
        print("First number :")
        fn = float(input(">>>"))
        print("Second number :")
        sn = float(input(">>>"))
        a = fn+sn
        print(a)
elif ac == 2:
        print("First number :")
        fn = float(input(">>>"))
        print("Second number :")
        sn = float(input(">>>"))
        a = fn-sn
        print(a)
elif ac == 3:
        print("First number :")
        fn = float(input(">>>"))
        print("Second number :")
        sn = float(input(">>>"))
        a = fn*sn
        print(a)
elif ac == 4:
        print("First number :")
        fn = float(input(">>>"))
        print("Second number :")
        sn = float(input(">>>"))
        a = fn/sn
        print(a)
else:
        badnum()


説明: 以前は、両方を真にすることはできないことを確認し ac == 1 ac == 4 いたため、2番目の else ステートメントも実行されました。これは構造で省略できます。 if..elif 以前の比較の1つが真になると、残りは実行されなくなります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Ajaxの成功は常にifステートメントで実行されます

分類Dev

/ elseステートメントがAndroidアプリで機能しない場合(elseステートメントは常に実行されます)

分類Dev

Breakステートメントは常に実行されます

分類Dev

Ifステートメントの2番目の条件は常に実行されます

分類Dev

JavaScript、ifステートメントは常に「else」ブランチのみを実行します

分類Dev

if-else ステートメントは常に login.php の else ステートメントを実行します

分類Dev

ifステートメントがjavascriptで実行されない[常にelse]

分類Dev

Python 3: `else`ステートメントは` if`ステートメントがtrueであっても実行されます

分類Dev

cでifステートメントが機能しない場合、ifステートメント内のセクションは常に実行されます

分類Dev

JavaのIfステートメントとelseステートメントの両方が実行されます

分類Dev

真でなくても、Ifステートメントは常に実行されます

分類Dev

Elseステートメントは、すべてのテキストファイルが処理される前に実行されます

分類Dev

elseステートメントが実行されないのはなぜですか?[python]

分類Dev

Googleスクリプトでifステートメントがtrueの場合、Elseステートメントは引き続き実行されます

分類Dev

else部分は* ngIfステートメントでは実行されません

分類Dev

elseステートメントはifelseステートメントでは実行されません

分類Dev

else条件が通過した場合でもelseステートメントは実行されます

分類Dev

`python3`は常にPython 3と共にインストールされますか?

分類Dev

elseステートメントが「while-loop」で実行されるのに、JAVAの「for-loop」では実行されないのはなぜですか

分類Dev

Elseステートメントは、Ifステートメントの条件が有効な場合でも実行されます

分類Dev

Rubyのifステートメントは常にelseです

分類Dev

Pythonは、コマンドラインで渡されたsys.argvに基づいてif / elseステートメントを実行します

分類Dev

if、elseif、elseステートメントは正しく実行されません

分類Dev

ifステートメントの後に実行されるElseステートメント

分類Dev

Perlの「else」ステートメントが実行されていません

分類Dev

ネストされたelseステートメントの実行順序を証明する方法は?

分類Dev

scanfは継続的に実行され、その後のステートメントは実行されません。

分類Dev

SQLステートメントはすぐに実行されますか?

分類Dev

ステートメントが常に実行される場合、問題を制御します

Related 関連記事

  1. 1

    Ajaxの成功は常にifステートメントで実行されます

  2. 2

    / elseステートメントがAndroidアプリで機能しない場合(elseステートメントは常に実行されます)

  3. 3

    Breakステートメントは常に実行されます

  4. 4

    Ifステートメントの2番目の条件は常に実行されます

  5. 5

    JavaScript、ifステートメントは常に「else」ブランチのみを実行します

  6. 6

    if-else ステートメントは常に login.php の else ステートメントを実行します

  7. 7

    ifステートメントがjavascriptで実行されない[常にelse]

  8. 8

    Python 3: `else`ステートメントは` if`ステートメントがtrueであっても実行されます

  9. 9

    cでifステートメントが機能しない場合、ifステートメント内のセクションは常に実行されます

  10. 10

    JavaのIfステートメントとelseステートメントの両方が実行されます

  11. 11

    真でなくても、Ifステートメントは常に実行されます

  12. 12

    Elseステートメントは、すべてのテキストファイルが処理される前に実行されます

  13. 13

    elseステートメントが実行されないのはなぜですか?[python]

  14. 14

    Googleスクリプトでifステートメントがtrueの場合、Elseステートメントは引き続き実行されます

  15. 15

    else部分は* ngIfステートメントでは実行されません

  16. 16

    elseステートメントはifelseステートメントでは実行されません

  17. 17

    else条件が通過した場合でもelseステートメントは実行されます

  18. 18

    `python3`は常にPython 3と共にインストールされますか?

  19. 19

    elseステートメントが「while-loop」で実行されるのに、JAVAの「for-loop」では実行されないのはなぜですか

  20. 20

    Elseステートメントは、Ifステートメントの条件が有効な場合でも実行されます

  21. 21

    Rubyのifステートメントは常にelseです

  22. 22

    Pythonは、コマンドラインで渡されたsys.argvに基づいてif / elseステートメントを実行します

  23. 23

    if、elseif、elseステートメントは正しく実行されません

  24. 24

    ifステートメントの後に実行されるElseステートメント

  25. 25

    Perlの「else」ステートメントが実行されていません

  26. 26

    ネストされたelseステートメントの実行順序を証明する方法は?

  27. 27

    scanfは継続的に実行され、その後のステートメントは実行されません。

  28. 28

    SQLステートメントはすぐに実行されますか?

  29. 29

    ステートメントが常に実行される場合、問題を制御します

ホットタグ

アーカイブ