<p>很好,您正在考虑检查用户输入的内容。永远不要相信用户的输入。如果用户没有输入数字会发生什么</p>
<blockquote>
<p>Please enter an integer value between 1 and 10 (inclusive): hello world</p>
</blockquote>
<p>这将给出一个<code>ValueError</code>。您可以这样处理:</p>
<pre><code>try:
starCount = int(input("Hello, please enter an integer, from 1 to 10: "))
except ValueError:
print("You didn't enter a number")
exit(1)
</code></pre>
<p>这样,只有当输入为整数时,我们才能通过该点。这意味着可以安全地对输入值进行计算,在这种情况下,有一种快速的方法可以限制整数的范围:</p>
<pre><code>starCount = starCount % 11
</code></pre>
<p>这将取输入值的剩余部分除以11,该值始终在0和10之间,包括0和10</p>
<p>Python允许将字符串乘以整数,因此这是有效的:</p>
<pre><code>print("*" * starCount)
</code></pre>
<p>最后,可以将其全部组合成一个函数:</p>
<pre><code>def f():
try:
starCount = int(input("Hello, please enter an integer, from 1 to 10: "))
starCount = starCount % 11
print("*" * starCount)
except ValueError:
print("You didn't enter a number")
</code></pre>
<blockquote>
<p>>>> f()</p>
<p>Hello, please enter an integer, from 1 to 10: 10</p>
<p>**********</p>
<p>>>> f()</p>
<p>Hello, please enter an integer, from 1 to 10: a</p>
<p>You didn't enter a number</p>
</blockquote>