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

迭代没有空格的单个字符串并在 python

如何解决迭代没有空格的单个字符串并在 python

我正在尝试构建一种将中缀转换为后缀的算法。下面是示例输入。你可以看到它都是一个没有空格的字符串。此外,输入可以将浮点数或整数作为操作数。我想弄清楚如何从左到右并确定一个元素是否是一个操作数(浮点数或整数)。

theInput1 = "3.2+.4*5.67/6.145="
theInput2 = "11.897/3.4+9.2-0.4*6.9/12.6-16.7="
theInput3 = "234+34*65="
theInput4 = "(12+3)*(56/2)/(34-4)="

这里有人帮助处理正则表达式:

import re
a = "11.897/3.4+9.2-0.4*6.9/12.6-16.7="
a2 = [x for x in re.split("(\d*\.?\d*)",a) if x != '']
print(a2)

s = []

for i in a2:
  if i >= '0' and i <= '9':
    s.append(i)

print(s)

这是正则表达式后的 a2:

['11.897','/','3.4','+','9.2','-','0.4','*','6.9','12.6','16.7','=']

看起来我得到了我需要的东西:

['11.897','16.7']

解决方法

您可能正在寻找这样的东西?

import re
theInput1 = "234+34*65="
theInput1 = re.split("(12+3)*(56/2)/(34-4)=",theInput1)
x = [char for char in theInput1 if char != '']
def typeOf(s):
    try:return int(s)
    except ValueError:return float(s)
for nums in x:
    y = typeOf(nums)
    print(type(y))

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