擅长:python、mysql、java
<p>你必须比较每个单独的元音。你知道吗</p>
<pre><code>vowels = 'a', 'A', 'e', 'E', 'i', 'I', 'o', 'O', 'u', 'U'
name = input("enter your name")
if any(vowel in name for vowel in vowels):
print("your name contains a vowel")
else:
print("NO VOWELS HERE!")
</code></pre>
<p>正如您在这段代码中所看到的,<code>name</code>不会被传输到列表中。你不需要它,因为字符串是可编辑的。这意味着你可以做另一个改变:</p>
<pre><code>vowels = 'aAeEiIoOuU'
name = input("enter your name")
if any(vowel in name for vowel in vowels):
print("your name contains a vowel")
else:
print("NO VOWELS HERE!")
</code></pre>
<hr/>
<p>在原始代码中发生的示例:</p>
<pre><code>>>> needle = 'a', 'b'
>>> needle in list('ab')
False
</code></pre>
<p>让我们检查一下这些值:</p>
<pre><code>>>> needle
('a', 'b')
>>> list('ab')
['a', 'b']
</code></pre>
<p>测试元组<code>('a', 'b')</code>是否是<code>['a', 'b']</code>的元素。正如你所看到的,事实并非如此。列表的元素是<code>'a'</code>和<code>'b'</code>。为了<code>True</code>,比较必须如下所示。你知道吗</p>
<pre><code>>>> needle in [('a', 'b')]
True
</code></pre>
<p>你必须明白你是在比较确切的元组,而不是它的一部分。你知道吗</p>
<pre><code>>>> needle in [('a', 'b', 'c')]
False
</code></pre>