使用随机运算符添加两个数字

Chr*_*ris 1 python random math

以下是我的代码,它的工作原理.它创建两个随机数,一个随机运算符并将它们放在一起,但是在执行此操作后它不会对它们求和.我需要的是程序将其识别为方程,而不是简单地打印出各个变量.

所以,为了避免混淆; 我的问题是:如何使用所选的任何东西得到firstNumbersecondNumber汇总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)

dse*_*uss 7

不依赖的一种方法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)