擅长:python、mysql、java
<p>您的代码有几个问题:</p>
<ul>
<li>您永远不会使用<code>counter</code>,即使您定义了它。在</li>
<li>您有一个不必要的嵌套<code>while</code>循环。如果用户输入的数字是偶数,那么您的代码将永远继续运行<code>while</code>循环。在</li>
<li>您错误地使用了<code>else</code>子句,该子句可用于<code>while</code>循环。有关详细信息,请参见<a href="https://www.google.com/search?client=ubuntu&channel=fs&q=else+clause+while+loops&ie=utf-8&oe=utf-8" rel="nofollow noreferrer">this post</a>。在</li>
</ul>
<p>以下是正确的代码:</p>
<pre><code>while True:
# Get a number from the user.
number = int(input('enter a number: '))
# If the number is zero, then break from the while loop
# so the program can end.
if number == 0:
break
# Test if the number given is even. If so, let the
# user know the number was even.
if number % 2 == 0:
print('The number', number, 'is even')
# Otherwise, we know the number is odd. Let the user know this.
else:
print('The number', number, 'is odd')
</code></pre>
<p>注意,我在上面选择了使用无限循环,测试循环内部的用户输入是否为零,然后中断,而不是在循环头中测试这种情况。在我看来,这是更干净的,但两者在功能上是相等的。在</p>