-2

先生が作成した課題に問題があります。私はPythonの初心者なので、言語がよくわかりません。

単語の文字列を指定して、より多くの「a」を含む単語を探す関数を作成する必要があります。同じ数の「a」を持つ単語が 2 つある場合は、最初の単語を出力します。

編集1:はい、私の考えは、各単語を見て、次のようなものを使用str.count("a")して、最も高い値を持つ単語を出力することでした

4

2 に答える 2

3
>>> words = "foo bar baz banana"
>>> max(words.split(), key=lambda x:x.count("a"))
'banana'
于 2012-10-10T14:03:40.483 に答える
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」が少ない単語を取得すると、何もしません。

于 2012-10-10T14:13:56.327 に答える