我想做的是输入一个公式,如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是没有问题的。但是对于要求输入公式的代码的第二部分,它是错误的。
答案 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()