擅长:python、mysql、java
<p><code>input</code>始终返回<code>str</code>,因此<code>str(input())</code>从不引发<code>ValueError</code>。在</p>
<p>你把字符串和单词搞混了。字符串只是一系列字符。例如,<code>"123hj -fs9f032@RE#@FHE8"</code>是一个完全有效的字符序列,因此是一个完全有效的字符串。然而,这显然不是一个词。在</p>
<p>现在,如果用户输入“1234”,Python不会尝试为您考虑并将其转换为整数,它只是一系列字符-一个“1”,然后是“2”,然后是“3”,最后是“4”。在</p>
<p>必须定义限定为单词的内容,然后检查输入的字符串是否与定义匹配。在</p>
<p>例如:</p>
<pre><code>options = ["Small", "Medium", "Large"]
while True:
car_type = input("The car type: ")
if car_type in options: break
print("The car type must be one of " + ", ".join(options) + ".")
</code></pre>