我创建了一个for
循环,该循环应该向我显示一个问题,如果正确回答,则将给我1分。运行代码时,我可以正确看到问题,但是对所有问题给出正确答案时,结果仅为1。
在下面的代码中,我粘贴了用于定义循环中使用的对象的类以及该循环不会给我总分。
似乎第一个问题和第二个问题如果回答正确,则没有给出分数,而最后一个答案为“ o”的问题给出了分数
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
答案 0 :(得分:0)
总和就可以了。
Python 3中的Log on as
函数始终为returns a string,因此,您的OK
实际上是input()
,risposta
和"4"
,因此只有最后一个是正确的。
整数不是其字符串表示形式,请参见例如this question。