擅长:python、mysql、java
<p>如果您只是在将输入分解成各个部分时遇到问题,这里有一些东西可以帮助您。我尽量让它可读,这样你至少可以理解它的作用。如果你需要我解释的话,我会解释其中的任何部分:</p>
<pre><code>def parse(text):
chunks = ['']
for character in text:
if character.isdigit():
if chunks[-1].isdigit(): # If the last chunk is already a number
chunks[-1] += character # Add onto that number
else:
chunks.append(character) # Start a new number chunk
elif character in '+-/*':
chunks.append(character) # This doesn't account for `1 ++ 2`.
return chunks[1:]
</code></pre>
<p>示例用法:</p>
<pre><code>>>> parse('123 + 123')
['123', '+', '123']
>>> parse('123 + 123 / 123 + 123')
['123', '+', '123', '/', '123', '+', '123']
</code></pre>
<p>剩下的就交给你了。如果不允许使用<code>.isdigit()</code>,则必须用低级Python代码替换它。</p>