我正在尝试编写一个生成数学问题的程序。每个问题应具有以下格式:
<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/