-3

コードでランダムな構文エラーが発生し続けます! 私はpython 3.3.2を使用しています

def modestart():
modetype = int(input"""Select a Game Mode:
1 - Standard Selection Mode
2 - Ordered Mode
3 - Random Shuffle Mode!
Or press any other key to exit
""")
loop=True
while loop=True:
    try:
        if modetype == 1:
            loop=False
            standard()
        if modetype == 2:
            loop=False
            ordered()
        if modetype == 3:
            loop=False
            shuffle()
        else:
            loop==True
            print("Please select a valid option")
    except ValueError:
        loop=True
        print("Please select a valid option")

構文エラーは、コロンの後の行全体を強調表示します

if modetype == 2:

誰でも私を助けて、これが何であるか、そしてそれを修正する方法を教えてもらえますか?

4

3 に答える 3

1
loop=True
while loop=True:

これをしないでください。これは構文エラー (つまりwhile loop == True) であり、不必要です。やるだけ

while True:

そして、breakループが終わったら。いたるところで割り当てと等価チェックを混同しているように見えることに注意してください。

    else:
        loop==True

ほぼ確実に を実行するつもりでしたが、コード内のそのポイントに到達するためにloop = Trueは既に実行されている必要があるため、これは明示的に不要です。True

実際、私はそこで間違っていますが、正当な理由があるわけではありません。あなたも論理エラーを犯し、2 番目と 3 番目のifステートメントはステートメントであることが意図されていたと思いますelif。そのままで、ユーザーが「1」を入力すると、最初のifブロックが起動し、コードは 2 番目と 3 番目のifブロックを調べます。3 番目のifステートメントが false であるelseため、そのステートメントのステートメントも起動しますが、これはあなたが望むものではありません。

breakこれは、実装したように「よりソフトな」ループ終了を使用するもう 1 つの理由です。

于 2013-07-30T22:29:16.447 に答える