答案已经在你的代码中了。在
user_input = input(str(random.choice(numbers)) + random.choice(operators) + str(random.choice(numbers)) + "? ")应该可以。在
它从numbers获取一个样本随机数,从operators获取一个随机运算符,从numbers获取另一个随机数,并将输入存储到变量user_input。在
要让Python检查您的答案,请将随机生成的参数存储在变量中并进行检查。(如果有更好的方法,如果有人向我指出,我将不胜感激)。在operand1 = random.choice(numbers)
operand2 = random.choice(numbers)
operator = random.choice(operators)
if operator == '+':
answer = operand1 + operand2
elif operator == '-':
answer = operand1 - operand2
else:
answer = operand1 * operand2
user_input = input(str(operand1) + operator + str(operand2) + "? ")
if str(answer) == user_input:
print('Correct!')
else:
print('Wrong!')
EDIT:@mhawke's answer有更好的方法来存储和操作操作操作数。与其将运算符存储在列表中,不如将它们存储在dict中,并将它们映射到相应的运算符函数,如下所示:
^{pr2}$