擅长:python、mysql、java
<p>没有看到异常语句执行的原因是try块中的任何代码都不会引发异常。但是,int的构造函数将引发ValueError异常,如果传递的不是数字的内容。你知道吗</p>
<p>根据我的理解,在这种情况下,尝试转换然后捕获异常是验证输入的最具python风格的方法。您可以在<a href="http://docs.python.org/3.4/tutorial/errors.html" rel="nofollow">docs</a>中阅读有关Python中异常的更多信息。你知道吗</p>
<pre><code>def getnumber():
while True:
try:
return int(input("Give a number: "))
except ValueError:
print("This input is invalid.")
</code></pre>
<p>您需要确保从main中对getnumber的所有调用中删除对int的调用。还有,最后一个音符。将导入语句意外地放在文件的顶部被认为是合适的形式。如果你想了解更多,可以在<a href="http://legacy.python.org/dev/peps/pep-0008/" rel="nofollow">PEP8</a>上阅读。你知道吗</p>