Skip to main content
 首页 » 编程设计

python之使用随机运算符将两个数字相加

2025年05月04日10mfryf

以下是我的代码,可以正常工作。它创建两个随机数,一个随机运算符并将它们放在一起,但是在这样做之后它不会对它们求和。我需要的是让程序将其识别为方程式,而不是简单地打印出各个变量。

所以,为了避免混淆;我的问题是:如何使用所选的任何 operator 将 firstNumber 和 secondNumber 相加,而不是简单地将它们打印在一起?

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() 

当前输出(示例):

4 + 3 

使用上面相同的数字,我希望发生什么:

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)