首页 > 解决方案 > 通过在python中拆分输入文本来制作计算器

问题描述

伙计们感谢邀请我,我已经有一个问题了。

我想做的是在用数学符号分割给定文本后得到列表的总和,而不用 for 循环,例如文本 ** (1+3) * 3 ** 应该获得计算的数学优先级。

我的第一个问题是如何得到 sum 和 sub 并乘以或除以列表,然后如何检查优先级并首先检查它。

# my calc

a = input()
result = a.split('+')

print(sum(result))


sol1:拆分括号和 mul /dev 早先 sum /sub 但我知道拆分不是最好的方法!

sol2:做一棵树,我不知道它是什么,但请注意

它在这里回答了我知道但 在 python 中没有拆分计算器

标签: python

解决方案


您可以使用eval(但请注意,这通常是一种不好的做法,请参阅答案):

result = eval(input())

如果您输入类似 的字符串(3-8)*4+5/2,则将使用正常优先级自动计算结果:-17.5.


推荐阅读