Python测验游戏逻辑错误

时间:2018-08-13 17:08:17

标签: python python-3.x

我正在尝试练习python,因为我即将在12岁开始。我创建了一个问答游戏,但是当我正确回答问题时,总会说错了

UPDATE myTable t

2 个答案:

答案 0 :(得分:2)

在使用==的程序中进行比较时,我们必须比较两个相同 type 的变量(启动Python时可能会变弯)。 Answer是一个数字,而question是一个由用户编写的字符串。因此,Python将两者视为不同和错误。为避免这种情况,您必须将数字转换为字符串或将字符串转换为数字,以便比较两个相同类型的变量。

答案 1 :(得分:2)

如前所述,您需要将input()的返回值转换为浮点数(以应付除法运算中的小数):

question = float(input("What is %d %s %d: " % (num1,randop,num2)))

我不建议这样做,因为输入错误会导致游戏崩溃,因此请使用带有try/except块的输入验证:

question = input("What is %d %s %d: " % (num1,randop,num2))
try:
    question = float(question)
except ValueError:
    print('Invalid or incorrect.')
    continue # skip the rest of the code and head straight into the next iteration in the for loop

我也不建议使用除法选项,因为大多数值将是重复的小数,除非事先检查答案不会重复或将答案四舍五入为小数,否则不能正确输入放置并询问用户2 dp答案

(您也可以将'answer'变量设置为字符串,而不是将'question'设置为整数)