Python 如何从用户输入计算值

Python 如何从用户输入计算值,python,Python,有人知道如何直接从一个用户输入进行计算吗? 例如: input = 1 + 2 output = 3 只允许一个输入。此外,当用户输入一个无效的等式(如1+*2)时,它需要显示无效。方法之一是使用eval函数 user_input = input("Enter expression :") try: print(eval(user_input)) except: print("Invalid expression!") 示例输出: En

有人知道如何直接从一个用户输入进行计算吗? 例如:

input = 1 + 2
output = 3

只允许一个输入。此外,当用户输入一个无效的等式(如1+*2)时,它需要显示无效。

方法之一是使用eval函数

user_input = input("Enter expression :")
try:
    print(eval(user_input))
except:
    print("Invalid expression!")
示例输出:

Enter expression : 1 + 2
>>> 3

但是要小心这个函数,因为在某些情况下使用它可能会有危险。

我已经尝试了一整天,请在帖子中分享您的代码和您的努力,并添加它欢迎使用堆栈溢出?你试过在这里搜索类似的问题吗?另外,您希望只支持带有两个数字和一个运算符的表达式,还是支持更复杂的输入?听起来很有趣。我将try@CrazyChucky我试图搜索关于堆栈溢出的类似问题,但没有一个使用python语言。我是编程新手,所以我不能理解其他语言。该方程式最多只有2个数字。例如:21+11,-21--11,-21/11,21*-11/这能回答你的问题吗?但是使用这个方法,无效的等式仍然会得到一个只有数字的输出,它可能是危险的。你能给我一些吗examples@LynnJun,我现在编辑了答案,它仍然给出输出,因为它将-23计算为--23,等于23@RishabhSemwal,eval函数计算任何类型的语句,而不仅仅是数学表达式。因此,如果用户在输入中输入my_var=12,将创建一个值为12的变量my_var。如果用户不知何故知道变量的名称并对其进行操作,从而妨碍程序的功能,则可能会误用。