擅长:python、mysql、java
<p>我会这样做:</p>
<pre><code>valid = operators | numbers
while True:
expression = introduction()
if set(expression) - valid:
print 'not a valid expression, try again'
else:
break
</code></pre>
<p>您只想在每个坏的<code>expression</code>调用<code>introduction()</code>一次。现在的方法是,为<code>expression</code>中的每个无效字符调用<code>introduction()</code>。你知道吗</p>