Chr*_*ris 1 python random math
以下是我的代码,它的工作原理.它创建两个随机数,一个随机运算符并将它们放在一起,但是在执行此操作后它不会对它们求和.我需要的是程序将其识别为方程,而不是简单地打印出各个变量.
所以,为了避免混淆; 我的问题是:如何使用所选的任何东西得到firstNumber和secondNumber汇总operator,而不是简单地将它们一起打印出来?
from random import choice
from random import randint
ranOperator = ["*", "/", "+", "-"]
def askQuestion():
firstNumber = randint(1,10)
secondNumber = randint(1,10)
operator = choice(ranOperator)
generateQuestion = ' '.join((str(firstNumber), operator, str(secondNumber)))
print(generateQuestion)
askQuestion()
Run Code Online (Sandbox Code Playgroud)
当前输出(示例):
4 + 3
Run Code Online (Sandbox Code Playgroud)
使用上面相同的数字,我想要发生的事情:
7
Run Code Online (Sandbox Code Playgroud)
不依赖的一种方法eval是使用operator模块来表示操作.
from random import choice
from random import randint
from operator import add, sub, truediv, mul
ranOperator = [add, sub, truediv, mul]
def askQuestion():
firstNumber = randint(1,10)
secondNumber = randint(1,10)
the_operator = choice(ranOperator)
result = the_operator(firstNumber, secondNumber)
print(result)
Run Code Online (Sandbox Code Playgroud)