-1

私はPythonが初めてで、プログラムが最初の入力を超えて実行されない理由を理解しようとしています。数値を入力するまで、すべて正常に動作します。その後、プログラムの最初に戻ります。ループされたステートメントは次のようになります。

 loop = 1
 choice = 0
 while loop == 1:
     choice = menu()
     if choice == 1:
        (List of commands)
     elif choice == 2:
        (List of commands)  etc...
     elif choice == 5:
        loop = 0

私は初心者なので、これはばかげた質問だと思いますが、困惑しています!

4

2 に答える 2

0

TypeError: can't multiply sequence by non-int of type 'str'つまり、この '5' * '5'のように乗算しますstrが、int 5*5ではありません。

そして'1'+'1' = '11'しかし1 + 1 = 2

したがって、 strintに変更する必要があります

于 2012-06-05T01:30:41.237 に答える
0
NO_ACTION, SMTH_ACTION, SMTH_OTHER_ACTION, EXIT_ACTION = 0,1,2,3
choice = NO_ACTION
while True:
    choice = int(menu()) # python strong typed!

    if choice is SMTH_ACTION:
        (List of commands)

    elif choice is SMTH_OTHER_ACTION:
        (List of commands)  etc...

    elif choice is EXIT_ACTION:
       break

終了フラグは必要ありません-breakキーワードを使用してください。「マジックナンバー」を使用しないでください-定数を定義します。

于 2012-06-05T01:35:02.083 に答える