对于以下程序,输出为:
True
False
None
False
预期应为:
True
False
True
False
代码有什么问题?
def startEndVowels(word):
vowels = "aeiou"
x = word[0]
y = word[-1]
z = len(word)
if z >1:
if x in vowels:
if y in vowels:
return True
else:
return False
elif z == 1:
if word in vowels:
return True
elif x == " ":
return False
print startEndVowels("apple")
print startEndVowels("goole")
print startEndVowels("A")
print startEndVowels(" ")
最佳答案
您可以简单地使用startswith
和endswith
方法,它们接受tuple
可能的前缀/后缀:
def startEndVowels(word):
vowels = tuple("aeiouAEIOU")
return word.startswith(vowels) and word.endswith(vowels)
您的功能不起作用的原因是因为您没有检查大小写。您也需要包括大写元音:
vowels = "aeiouAEIOU"
或将单词转换为小写:
word = word.lower()
关于python - 编写函数startEndVowels(word),如果单词以元音开头和结尾,则返回True,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45838452/