python - 自动数学方程生成器无法正确显示

标签 python function

我正在尝试编写一个生成数学问题的程序。每个问题应具有以下格式:

<num> <op> <num>  = ?

其中每个 num 代表 -50 到 50 之间的随机数,op 是从四个基本数学运算符中随机选择的:+、-、/、*。

到目前为止我已经:

import random
from operator import add, sub, mul, truediv

def main(): 

    random.seed()

    ops = (add, sub, mul, truediv)
    op = random.choice(ops)

    num1 = random.randint(-50,50)
    num2 = random.randint(-50,50)    

    answer = op(num1, num2)
    answer = round(answer,2)   
    print("Welcome! Here is your practice problem:\n")

    print(num1, op ,num2,"=?\n")
main(

但是当我编译它时,它会返回,例如:

-2 <built-in function truediv> -27 =?

而不是: -2/-27 =?

我怎样才能得到它,以便它显示运算符而不是

<built-in function truediv>

最佳答案

创建一个字典 opsStr = {add :'+', sub: '-', ...} 并打印所选运算符的相应条目。

所以你的打印看起来像:

print(num1, opsStr [op] ,num2,"=?\n")

关于python - 自动数学方程生成器无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14784557/

相关文章:

python - 带有 asyncio 的惰性迭代器(生成器)

Python重新模块findall并打印整个匹配子字符串

python - 分类器超参数之间的相关性

python - 检查多个函数参数的优雅方法

Python:函数中的双变量

javascript - 无法通过javascript获取转换后的值

python - Python 请求中的 SSLError(读取操作超时)

python - Pandas - 计算并获取列中字符串值的唯一出现次数

python - 如何在 Python 中创建表

javascript - 如何在 React 中创建对象的新实例?