Message = input("Enter a message: ")
vowels=Message.count('a')+ Message.count('i')+Message.count('e')+Message.count('u')+Message.count('o')
print ('There are ',vowels,' vowels.')
如何编辑功能以包含“元音(文本)”功能并仍然可以正常工作?
答案 0 :(得分:1)
基本上你的程序没问题,但你的语法不正确。您需要一个适当的函数定义,如
# fn count vowels
def vowels(text):
NumVowels = text.count('a') + text.count('e') + ...
return NumVowels
请注意,Python确实需要缩进。其余的很简单:
message = input("enter a message: ")
print ('there are', vowels(message), 'vowels')
答案 1 :(得分:0)
#!/usr/bin/env python3.2
def Vowels(text):
vowels = ['a', 'e', 'i', 'o', 'u']
numvowels = sum(text.count(i) for i in vowels)
return numvowels
if __name__ == '__main__':
Message = input("Enter a message: ")
vowels = Vowels(Message)
print ('There are ',vowels,' vowels.')
它的工作方式相同,但有一些问题:
__main__
后卫而你却没有。你应该是,你可能不知道它是什么,所以请看:http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#modules-scripts 如果最后一个print语句如下所示,代码将更具可读性:
print("There are %s vowels" % vowels)
还有其他方法可以做到这一点,但这个方法已经足够并且是一种常见的惯例。
当你发帖时表示你正在使用Python 3会很好; - )