如何使用随机生成的数字和运算符创建方程式的答案?

How do I create an answer for an equation using randomly generated numbers and operator?

我想知道如何使用随机运算符从其他随机数中加、减和乘随机生成的数字。

这是我目前得到的代码:

ops = ['+','-','*']
op = random.choice(ops)
variable1 = random.randrange(1,10)
variable2 = random.randrange(1,10)
if op == '+':
    answer = sum(var1+var2)
elif op == '-':
      answer = sum(var1-var2)
elif op == '*':
      answer = sum(var1*var2)

我通常会收到一条错误消息: 答案=总和(var1-var2) 类型错误:'int' 对象不可迭代

抱歉,如果这是一个简单的答案,整个 python 编码仍然很新鲜! :)

sumfor summing up an iterable - 意思是一个列表或类似列表的东西。

只需使用 answer = var1 + var2.

还有一个名为 operators 的有趣模块,它 allows you to supply an operator 反映了内置运算符,这将允许您进一步概括这一点。

像这样的东西可能更 pythonic :

import operators
ops = [operators.iadd, operators.imul, operators.isub]
# pick your op = ..
# pick your vars = ..

answer = op(var1, var2)

sum 需要可迭代。在这里,您已经知道答案但试图将其提供给 sum 所以不需要,只需将其删除即可。

ops = ['+','-','*']
op = random.choice(ops)
var1 = random.randrange(1,10)
var2 = random.randrange(1,10)
if op == '+':
    answer = var1+var2
elif op == '-':
    answer = var1-var2
elif op == '*':
    answer = var1*var2