擅长:python、mysql、java
<ol>
<li>您正在将<code>prefix</code>(一个包含多个字母的字符串)与单个字母进行比较,而不是当前的字符<code>i</code>。他们永远不平等。我建议使用更好的名称(这会使错误显而易见):<code>prefixes = "JK..."</code>和{<cd4>}。在</li>
<li>通过在逻辑or中不使用任何比较运算符,将<code>"O"</code>强制为布尔值。如果<code>prefix=="Q"</code>为false,则它将<code>"O"</code>转换为布尔值,非空字符串被视为true。使用<code>prefix == "Q" or prefix == "O"</code>或<code>prefix in ("Q", "O")</code>(对于更多的替代方案,这两种方法的伸缩性更好)。你不会相信这个错误有多普遍。。。是的,它碰巧使用了一些从英语中借用的关键字,但它不是英语<;/rant></li>
</ol>