python - 通过在python中拆分输入文本来制作计算器
问题描述
伙计们感谢邀请我,我已经有一个问题了。
我想做的是在用数学符号分割给定文本后得到列表的总和,而不用 for 循环,例如文本 ** (1+3) * 3 ** 应该获得计算的数学优先级。
我的第一个问题是如何得到 sum 和 sub 并乘以或除以列表,然后如何检查优先级并首先检查它。
# my calc
a = input()
result = a.split('+')
print(sum(result))
sol1:拆分括号和 mul /dev 早先 sum /sub 但我知道拆分不是最好的方法!
sol2:做一棵树,我不知道它是什么,但请注意
它在这里回答了我知道但 在 python 中没有拆分计算器
解决方案
您可以使用eval
(但请注意,这通常是一种不好的做法,请参阅此答案):
result = eval(input())
如果您输入类似 的字符串(3-8)*4+5/2
,则将使用正常优先级自动计算结果:-17.5
.
推荐阅读
- d3.js - 数据过滤器适用于 json 数据,但不适用于 csv 数据
- javascript - 从 Angular 中的 Click 事件处理程序获取源元素
- php - 在 Docker 中安装 GD 扩展
- php - 如何在 DateInterval 扩展类中创建 days 属性?
- python - 向数据框中添加新列,显示包含数字的所有行的总和
- python - 如何创建每另一列的前一行为1时增加1的ID
- php - 使用 ip 和掩码获取网络地址。(php, IPv6)
- java - javax.persistence.PersistenceException: org.hibernate.TransactionException: 已经有一个关联的托管连接
- c# - 如何减少代码中的 SQL 查询量?
- php - 是否有一个内置的 PHP 函数可以打印格式化为的数组
标签?