擅长:python、mysql、java
<p>不确定变量<code>a</code>的用途,以及为什么要将其与<code>1</code>进行比较。我想你需要一个<code>while True</code>循环,一旦做出有效的响应,就从中退出<code>break</code>。用户可以提供一个介于1-3之间的数字(最佳情况),在这种情况下,它将成功地转换到下面的<code>int</code>中,到达<code>break</code>行并退出while循环。如果用户提供的数字超出该范围,循环将继续要求选择字符。如果用户错误地提供了一个非整数值,它就不能被转换成<code>int</code>,当尝试转换时,它将产生一个<code>ValueError</code>来尝试将字符串转换成int。然后循环将进入<code>except</code>块并通知用户错误和<code>continue</code>,这意味着它将返回到循环的顶部</p>
<pre><code>while True:
selectCharacter = input('Select your character:')
# input() returns a str, must cast it to an int.
# Use try/except block to ensure the user provided an integer
try:
selectCharacter = int(selectCharacter)
except ValueError:
print('Please enter an integer only!')
continue
if selectCharacter >= 1 and selectCharacter < 4:
print('Character selected')
break
</code></pre>