我在老师的任务上遇到了麻烦。我是一个蟒蛇新手,所以我真的不懂语言。
我需要创建一个给出一串单词的函数,并在其上查找带有更多“a”的单词,如果有两个单词具有相同数量的“a”则打印第一个单词。
编辑1:
是的,我的想法是查看每个单词并使用类似str.count("a")
的内容,然后打印具有最高值的单词
答案 0 :(得分:3)
>>> words = "foo bar baz banana"
>>> max(words.split(), key=lambda x:x.count("a"))
'banana'
答案 1 :(得分:0)
这个答案应该非常简单,即使对于初学者来说也是如此,因为它只使用非常基本的命令:
s = 'caaat caat cat kittycaat, rack, smaaack'
x = 0
for i in s.split():
if i.count('a') > x:
x = i.count('a')
word = i
print word
基本上,它使用字符串的.split()函数将字符串拆分为单独的单词。然后for循环遍历每个单词,注意每个单词中有多少'a',如果有多个x单词,它会用数字更新x并将单词放在'word'变量中。
当循环得到另一个带有更多'a'的单词时,它会再次更新x并再次单词,但是如果它得到的单词少了'a',那么它将什么都不做。