-4

私はPythonだけでなくプログラミング自体も初心者なので、進行中の「プロジェクト」で本当に助けが必要です.Pythonを使って1週間しか経っていません。

私が作成しようとしているのは小さな「クイズ」です。メニューは正常に機能します。作成するのが最も簡単でした。メニューの選択肢 2 についても同様で、クイズを終了しますが、残りの部分にいくつか問題があります。コード。私が修正する必要があるのは、プレイヤーが質問に答えるたびに、プレイを続けたいかどうかの質問が表示されることです。はい (「ja」) の場合、プレイヤーは現在のスコアではない場合、新しいランダムな質問を取得します。 (パーセンテージ) が表示され、プログラムがシャットダウンします。ランダムな質問は正常に機能しており、続行も正常に機能していますが、クイズとスコアを終了することはまだ問題であり、正しく理解できません。単純な間違いかもしれませんが、どういうわけか見つけられません.

前もって感謝します!

PS。なんらかの理由でホール コードがコード ボックスに正しく表示されないため、コードの問題の「領域」だけを投稿します。

while aqpool[0]:
    shuffle (aqpool)
    numRight = 0



    for question, rightAnswer in aqpool:
        answer = input(question + " ")

        playAgain = "ja"
        playStop = "nej"

        if answer == rightAnswer:
            print ("RÄTT SVAR!")

            numRight = numRight + 1


            if playAgain == "ja" or playAgain == "j":

                print("Vill du försätta spela? (ja eller nej)")
                playAgain = str(input())
                continue

            if playStop == "nej" or playStop == "n":
                total = numRight / len(aqpool) * 100
                print ("Du hade ",total, "% rätt!")
                playStop = str(input())
                break                                

        else:


            print("FEL SVAR! Rätta svaret är: " + rightAnswer + "\n")

            if playAgain == "ja" or playAgain == "j":
                print ("Vill du försätta spela? (ja eller nej)")
                playAgain = str(input())

            if playStop == "nej" or playStop == "n":
                total = numRight / len(aqpool) * 100
                print ("Du hade ", total, "% rätt!")
                playStop = str(input())
                break
4

1 に答える 1

0
userWantToContinue = True
while aqpool[0] and userWantToContinue:
    shuffle (aqpool)
    numRight = 0

    for question, rightAnswer in aqpool:
        answer = raw_input(question + " ")

        if answer == rightAnswer:
            print ("RÄTT SVAR!")

            numRight = numRight + 1

        else:
            print("FEL SVAR! Rätta svaret är: " + rightAnswer + "\n")


        print("Vill du försätta spela? (ja eller nej)")
        userWantToContinue = str(raw_input()) not in ('n', 'nej')
        if not userWantToContinue:
            break

    total = numRight / len(aqpool) * 100
    print ("Du hade %s%% rätt!" % total)
于 2013-10-05T12:27:22.230 に答える