-3

私は Python 3.2 を使用しています。私が何をしているかわかるように、ここに割り当てを示します。 ~random モジュールの関数 random.randint を使用して、値の範囲から整数を生成できます。たとえば、random.randint(1,6) は、1 から 6 までの値を同じ確率で生成します。単純な学習プログラムでは、0 から 12 までの 2 つの数字をランダムに選択し、次のような質問をします。6 かける 8 は何ですか? ユーザーの応答を受け取ると、コンピューターはその答えが正しいかどうかを確認し、励ましの言葉を発します。この形式の質問を生成して 10 回ループし、最後にユーザーにスコアを与えるプログラムを作成します。

これが私のプログラムにあるものです:

    print ("Hello. Let's begin")
    for i in range (1,10):
        from random import randint
        x=randint (0,12)
        y=randint (0,12)
        print (x,"*" y,"=?")
        product= int(input ("What is the product?")
        if (product==x*y):
           print ("Awesome! That is correct!")
        else:
           print ("Sorry, that is not correct, but let's try another one!")

私はこれらすべてですべての作業を行っています。ユーザーにランダムな掛け算の質問をし、10 回答えます。私が理解していないのは、最後にユーザーにスコアを与えることです。私はアイデアをブレインストーミングしていますが、実際に機能しているものはあまりありません。私は次のようなことをしなければならないと思います:

    score=

しかし、正解数を計算するようにプログラムに指示する方法がわかりません... スコア= if の数と言えますか?

そして、スコアを印刷するときは、次のように言えます。

    if (score>5) :
       print: ("Great job! You scored a",score,"out of ten!")
    else:
       print: ("Not the best score, but you can try again! You scored a",score,"out of ten.")

または、これを行う簡単な方法はありますか?

4

2 に答える 2

1

新しい変数(「スコア」など)を作成し、ループの前に0として初期化するのが最も簡単なようです。次に、ユーザーが正しかったかどうかを確認するときに、正しければ1つ増やし、間違っていればそのままにしておきます。

お役に立てれば!

于 2012-12-05T17:44:43.780 に答える
0

まず、スコアを 0 に設定します

score = 0

次に、ループで、次のようなことを試してください

    if (product==x*y):
       print ("Awesome! That is correct!")
       score += 1
    else:
       print ("Sorry, that is not correct, but let's try another one!")

重要な部分はscore += 1これで、正解するとスコアが 1 つ増えます。score > 5ループの後に入れることができます。

于 2012-12-05T17:51:53.150 に答える