如何将列表转换为方程式?

所以,我一直在尝试通过多种方式制作高级计算器,这是我能想到的最好的:


operation = str(input('Operation:'))


operation_list = operation.split(' ')


for i in range(len(operation_list)):

    if operation_list[i] not in '+-/*':

        operation_list[i] = int(operation_list[i])


print(operation_list)

此代码会将 str 中的每个数字转换为 int 并将所有内容放入列表中:


Operation: 10 + 10 + 10


Terminal: [10, '+', 10, '+', 10]

我不知道是否可以这样做,但我想像转换实际方程一样转换该列表。


有人有什么想法吗?


叮当猫咪
浏览 127回答 1
1回答

千巷猫影

解决方案:使用python的内置eval()operation = input('Operation: ')  # input() always returns string, no need to convert print(eval(operation))Operation: 5 * 10 + 2 52请注意,您可能想要确认用户输入了有效的方程式。恶意用户可能会做这样的事情:https ://medium.com/swlh/hacking-python-applications-5d4cd541b3f1 。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python