我需要你帮我做一个小程序。
程序检查一个单词是否为真、假或无效参数。
例如,我输入e_silaba(ALO)
,它会根据元音字母验证单词是否可能。在
我的第一个问题是,我必须选择我的字符串(单词)的大小吗?
我有什么更好的方法来判断这个词是否不属于“元音”?我知道我的做法是错误的,但我找不到解决办法。。
元音=[“A”,“E”,“I”,“O”,“U”]
def e_silaba(word):
if word[0] in vogal or word[1] in vowel:
return True
elif word not in vowel:
return False
else:
print "e_word:invalid argument"
如果您想通过检查单词是否包含元音来验证该单词是否为单词,请使用以下for循环:
这将检查单词中的每个字母(不考虑长度)以查看它是否在列表中的元音中。还要注意,它检查字母.上(),它将字母转换为其大写版本,以便与您的大写元音列表进行精确比较。如果它到达单词末尾时没有返回True,则表示它没有遇到任何元音,然后将返回false。在
只是为了把@ChrisüRands的精彩评论写成一个答案:最简单的方法是将元音列表转换为
set
,并使用any()
将word.lower()
中的字母与之进行比较:如果要确保单词不完全由元音组成,可以使用以下解决方案:
^{pr2}$这将排除实际上是单词的“a”和“i”。作为最后一个示例,如果您只想检查至少包含两个字符的单词的条件,请使用以下命令:
希望这足以说明如何添加更多的条件。在
如果您想检查
word
是否只包含字母字符,可以对其使用.isalpha()
方法。就您的函数而言,您可以使用以下集合来解决它:它所做的是首先用
.lower()
方法将word
中的所有字母都小写,对新的小写单词中的所有字符进行一个集合,并检查这些字符是否是使用.issubset()
方法设置的元音的子集。在您甚至不需要创建这个函数并显式返回}。您可以简单地使用}。在
True
或{set(word.lower()).issubset(vowels)
,它本身是一个布尔表达式,将返回True
或{相关问题 更多 >
编程相关推荐