微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有可能使计算器更高效?如果是这样,如何?

如何解决有没有可能使计算器更高效?如果是这样,如何?

最近我一直在想一个更好的方法来做一个计算器。 因为现在我只是像这样手动操作:

if action == "+":
   answer = firstNum + secondNum
elif action == "*":

依此类推,每一个标志... 我怎样才能做到这一点而不必手动完成每个标志?

解决方法

由于我们在 Python 中没有 Switch,您可以这样做:

>>> a = '1+3'
>>> eval(a)
4

>>> t1 = 1
>>> t2 = 3
>>> eval('t1 + t2')
4

>>> exec(f'b = {a}')
>>> b
4

否则,您需要为每一项做和 if/elif 声明。 我建议使用 eval,因为 exec 执行动态代码。
不知道这是否存在安全问题(可能),或性能问题。

Edit1:如果您不相信方程的起源,则不应使用其中的任何一个。如果是这样,你需要做更多的 If 和 elses,或者使用 DeepSpace 的解决方案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。