0

Q: 複数の整数があるのに、カウント関数が 1 つしかカウントしないのはなぜですか?

コード:

import random

while True:
    value = 0
    count = 0
    right_counter = 0
    value = int(input("Enter the amount of questions would you like to answer: "))   
    AVG = right_counter / value
    if 0<=value<=10:
        for i in range(value):
            numb1 = random.randint(0, 12)
            numb2 = random.randint(0, 12)
            answer = numb1 * numb2
            AVG = right_counter / value



            problem = input("What is " + str(numb1) + " * " + str(numb2) + "? ")


            right_counter =+ 1


            if int(problem) == answer:
                print("You are Correct! Great Job!".format(right_counter))



            elif int(problem) > answer:
                print("Incorrect, Your answer is too high!")        


            elif int(problem) < answer:
                print("Incorrect, your answer is too low!")


        print("You got",right_counter,"out of",value,"correct, giving you an average of ",AVG,"")
        break


    else:
        print(" Error, Please type a number 1-10 ")

出力は次のようになります。

答えたい質問の数を入力してください: 3
1 * 8 は何ですか? 8
正解です!よくやった!
11 * 11 とは何ですか? 122
不正解です。答えが高すぎます。
1 * 7 とは何ですか? 7
正解です!よくやった!
3 問中 1 問正解で、平均は 0.3333333333333333 です

Tutorialでいくつかのヘルプを見つけましたが、質問に答えることができませんでした。

4

1 に答える 1

2

バグ:

right_counter =+ 1

これは (知らず知らずのうちに) と同等です。

right_counter = 1

あなたはおそらく意味した

right_counter += 1

right_counterまた、答えの正しさに関係なくインクリメントされるロジックの問題にも対処する必要があります。

于 2013-08-10T01:06:29.680 に答える