擅长:python、mysql、java
<p>有几个问题-第一,您希望函数忽略大小写差异,但不要告诉它这样做。-“c”不是“c”。你知道吗</p>
<p>要检查字母是否在字符串中,最好使用<code>letter in text_string</code>而不是<code>str.find()</code>方法。确保您了解find返回的内容-查看<a href="http://docs.python.org/3/library/stdtypes.html#str.find" rel="nofollow">docs</a>。你知道吗</p>
<p>在下面的例子中,我使用<code>letter in set(text_string)</code>——如果有重复的话,这只检查一次<code>text_string</code>的字母。对于小字符串,这不会对性能造成太大影响。你知道吗</p>
<p>可以使用<code>all</code>函数执行一系列布尔检查。你知道吗</p>
<pre><code>def check(text, control):
# Set both strings to lower case, since we're ignoring case
text = text.lower()
control = control.lower()
# Check that each character in control is in text
return all((c in text for c in set(control)))
>>> check('jshdgfyrgj', 'Correo')
2: False
>>> check('cfgotyrrtepo', 'Correo')
3: True
</code></pre>