我试图编写一个Python函数,它接受两个字符串作为参数,并返回它们是否有相同的元音(数量无关紧要)。在
因此('really','bed')应该返回true,但是('reased','irate')应该返回false。在
我被这个可怕的尝试困住了。。。在
def vocalizer(string_a,string_b):
vowels = ['a', 'e', 'i', 'o', 'u']
result = ''
result_2 = ''
for character in string_a:
if character in vowels:
result = result + character
for item in string_b:
if item in vowels:
result_2 = result_2 + item
for vowel in result:
if vowel not in list(result_2):
return False
else:
if vowel in list(result_2):
return True
我将使用set intersection从每个字符串中提取元音。像这样:
输出
^{pr2}$简短而富有表现力:
您自己的代码可以很容易地改进,因为您的总体策略是正确的:
当你去掉辅音的单词时,你可以简单地从字符串中创建一个列表,然后通过将它们转换成集合来删除重复的元素。最后,你可以比较一下,看看它们是否相等。例如:
^{pr2}$相关问题 更多 >
编程相关推荐