【问题标题】:make calculator by spliting input text in python通过在python中拆分输入文本来制作计算器
【发布时间】:2020-04-02 15:29:20
【问题描述】:

谢谢你们邀请我,我已经有一个问题了。

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

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

# my calc

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

print(sum(result))


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

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

它已经回答了我知道但没有分裂 Calculator in python

【问题讨论】:

  • 你总是可以这样做:eval(input())。这可行,但当然可能很危险......
  • 是的,亲爱的,但有没有办法在没有循环的情况下获得列表元素的总和?

标签: python


【解决方案1】:

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

result = eval(input())

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2012-06-08
    • 2021-04-24
    • 2016-12-13
    • 1970-01-01
    相关资源
    最近更新 更多