循环无法正确求和值

时间:2019-06-14 08:11:17

标签: python

我创建了一个for循环,该循环应该向我显示一个问题,如果正确回答,则将给我1分。运行代码时,我可以正确看到问题,但是对所有问题给出正确答案时,结果仅为1。

在下面的代码中,我粘贴了用于定义循环中使用的对象的类以及该循环不会给我总分。

似乎第一个问题和第二个问题如果回答正确,则没有给出分数,而最后一个答案为“ o”的问题给出了分数

Classe.py

class Dom_matematica:
    def __init__(self, operazione, risultato):
        self.operazione = operazione
        self.risultato = risultato

调查

from Classe import Dom_matematica 

Calcoli = [
    "Quest1\n",
    "Quest2\n",
    "Quest3\n",
]


Ogg_Calcoli = [
    Dom_matematica(Calcoli[0], 4),
    Dom_matematica(Calcoli[1], 9),
    Dom_matematica(Calcoli[2], "o"),
]


#HERE IS WHERE THE PROBLEM ARISES. 
def Loop_mat(Ogg_Calcoli):
    score = 0
    for d in Ogg_Calcoli:
        risposta = input(d.operazione)
        if risposta == d.risultato:
            score += 1
    print("You got " + str(score) + "/" + str(len(Ogg_Calcoli)) + " 
correct")

Loop_mat(Ogg_Calcoli)

我希望所有答案正确后结果为3/3

1 个答案:

答案 0 :(得分:0)

总和就可以了。

Python 3中的Log on as函数始终为returns a string,因此,您的OK实际上是input()risposta"4",因此只有最后一个是正确的。

整数不是其字符串表示形式,请参见例如this question