<p>我有一个处理整数的函数。我添加了一些代码,用于在输入字符串或float时进行异常处理,但是Python总是返回无意义或<code>NameError</code>。在这一点上,我尝试了一个循环,它不断地询问直到输入一个整数和一个<code>try</code>和<code>except</code>。什么都不管用。你知道吗</p>
<p>代码如下:</p>
<pre><code>def threes(num):
"""isNotCorrect = True
while isNotCorrect:
print(type(num))
if type(num) is not int:
print("Sorry, you need to enter a whole number to play Threes.")
else:
print('X')
isNotCorrect = False"""
try:
while num > 1:
if num % 3 == 0:
num = num/3
else:
if ((num + 1) % 3 == 0):
num = (num + 1)/3
else:
num = (num - 1)/3
print(num)
except NameError:
print("Invalid number. Please enter a valid number.")
</code></pre>
<p>输入一个整数(预期的输入)可以很好地执行代码,但其他所有操作都会导致这样的名称错误,其中输入是<code>threes(bob)</code>。最上面的部分是我对循环的尝试,它也失败了并返回了相同的错误</p>
<pre><code>Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'bob' is not defined
</code></pre>