【发布时间】:2021-07-18 19:51:33
【问题描述】:
我正在尝试遍历下面的输入字符串。如果遇到浮点数或整数,我想将元素推入堆栈。当我遇到运算符“+-/*”或括号“()”或“=”时,我会执行其他操作。我遇到的麻烦是识别浮点数或整数。人们建议正则表达式将它们分解为字符串列表,但我仍然有将这些项目识别为浮点数或整数的问题。我试过 isinstance() 也不管用。
输入:
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)="
我尝试过的方法不起作用。 (我附加到一个列表来模拟推送到堆栈,这样我就不必在此处剪切/粘贴整个堆栈类。)
s = "3.2+.4*5.67/6.145="
list = []
for i in s:
if isinstance(i, float) == True or isinstance(i,int) == True:
list.append(i)
print(list)
【问题讨论】:
标签: python