擅长:python、mysql、java
<p>您正在检查<code>if letter in clues</code>和<code>elif symbol in clues:</code>,您想要的是<code>in clue</code>,没有s。否则,为什么要循环?你知道吗</p>
<p>这就是为什么你会看到DUP。不过,还有许多其他问题,例如:</p>
<ul>
<li>每次遍历列表的代价很高(O(n))。使用一组字母和一组符号,检查变成O(1)。如果这些“线索”之间有任何联系——用字典或其他结构来实现——但将它们串联起来并将它们放入一个列表似乎是最不合适的解决方案。你知道吗</li>
<li>你在写<code>userInput= letter + symbol</code>然后<code>elif len(userInput) ==1:</code>。这是错误的检查-如果用户输入多个字符,其长度将超过2,而不是1。你知道吗</li>
<li>不管怎样,为什么要在回路里检查呢?一张支票就够了。你知道吗</li>
<li>为什么<code>break</code>在<code>if letter in clues:</code>而不是在<code>elif symbol in clues:</code>?你知道吗</li>
</ul>