擅长:python、mysql、java
<p><code>or</code>的工作原理与您想象的不同。
它给出了第一个正确的值。在Python中,非空字符串总是true。因此:</p>
<pre><code>>>> "Warrior" or "Mage" or "Ranger" or "Thief"
'Warrior'
</code></pre>
<p>将代码更改为:</p>
<pre><code>if attributes['Class'] not in ("Warrior", "Mage", "Ranger", "Thief"):
attributes['Class'] = raw_input('Please choose either Warrior, Mage, Ranger or Thief.')
continue
else:
break
</code></pre>
<p>这将检查输入的输入是否在元组中的名称中。如果没有,它将请求新的输入,否则它将停止请求输入</p>