Skip to main content
 首页 » 编程设计

python之数学从左到右

2025年05月04日18虾米哥

因此对于作业,我需要让 python 从左到右进行数学计算。

从阅读这里, http://www.sthurlow.com/python/lesson02/

它说“还要记住数学是从左到右计算的,除非你放在括号中。最里面的括号首先计算。”

但是无论如何强制 python 实际上从左到右计算而不带括号并且忽略操作顺序?

我的代码只是一个变量,并在用户输入数学方程式后打印它

x = input("Enter numbers and operators: ") 
print x 

例如,我需要它能够做到, 4 + 5 * 5 = 45

而不是 4+5*5 = 29 在 python 中

感谢任何帮助

编辑 1

userinput = raw_input("Enter numbers and operators: ") 
parts = userinput.split() 
print parts 
print eval(parts) 

我输入 1 + 1 并打印出来,结果是 ['1', '+', '1'] <---这算是一个列表吗? 我尝试 eval(parts),但错误提示必须是字符串或对象,我应该使用“eval”吗?

请您参考如下方法:

没有。作业的重点可能是您实际上必须自己编写一些代码,而不是让 python 为您做所有事情,并且您必须学习如何使用列表和循环。 :-) 这是一种可能的方法:

  1. 使用input() 获取用户想要计算的表达式。您将得到一个字符串,即一个单独字符的序列。
  2. 将字符串拆分为较小字符串的列表,每个字符串都是一个数字或一个运算符。所以 "42 + 8 * 9" 应该变成 "42", "+", "8", "*", "9"。 (有一个称为 split() 的内置函数可以执行此操作,假设运算符和数字之间有空格。)
  3. 创建一个变量,例如result,将保留到目前为止的结果,并将第一个数字放入其中。请注意,包含数字的字符串与数字不同,但您可以使用 int() 将此类字符串转换为数字。
  4. 使用for 循环查看列表的剩余元素。每次找到作为运算符的元素时,对 result 和列表中的后续数字使用该操作。

尝试按照这些思路解决问题,如果遇到困难,请告诉我们。