如何输入公式并得到结果?

时间:2018-08-01 09:59:08

标签: python

我想做的是输入一个公式,如1 + 1,然后打印:问题n的答案是:(公式的答案)。对于1 + 1,它应该打印:问题1的答案是:2 但是我得到的是,当我输入1 + 1时,它会显示:问题1的答案是:“ 1 + 1”

def prefix():
    typein=int(input("How many questions do you want to ask:"))
    number=1
    while number<typein+1:
        a=input("Question %r you want to ask"%(number))
        print(a)
        print("The Answer of Question %r is: %r" %(number,a))
        number+=1
prefix()

当我添加

print(a)

之后

a=input("Question %r you want to ask"%(number))

它表明a是1 + 1,而不是2。 那么如何让a成为公式的答案,而不是公式本身?

--------------------------编辑-------------------- ---

它要求人们输入一个int和一些公式。对于我们来说,为代码的第一部分输入一个int是没有问题的。但是对于要求输入公式的代码的第二部分,它是错误的。

1 个答案:

答案 0 :(得分:0)

感谢答案。我知道现在发生了什么,就像问题一样: Evaluating a mathematical expression in a string

所以我只需要添加一个eval()

def prefix():
typein=int(input("How many questions do you want to ask:"))
number=1
while number<typein+1:
    a=eval(input("Question %r you want to ask"%(number)))
    print("The Answer of Question %r is: %r" %(number,a))
    number+=1
prefix()

有效! enter image description here