如何使用随机生成的数字和运算符创建方程式的答案?
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 编码仍然很新鲜! :)
sum
是 for 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
我想知道如何使用随机运算符从其他随机数中加、减和乘随机生成的数字。
这是我目前得到的代码:
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 编码仍然很新鲜! :)
sum
是 for 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