0

特定の x リストの 'a' を数えようとしていますが、このコードは間違っており、その理由がわかりません

x = ['a', 'b', 'a']

def a_count(x):
    n = 0
    for ltr in x:
        if ltr == 'a':
            n = n + 1
        else :
            n = n
        return n
    return 

また、ユーザーが値を設定する別のリストから「a」をカウントする方法を誰かが教えてくれれば幸いです。これは、次のような空のリストを設定することで実行できます

y = []

その後?

4

4 に答える 4

3

戻りが早すぎます。最後の数行を変更すると、関数は正常に機能します

x = ['a', 'b', 'a']

def a_count(x):
    n = 0
    for ltr in x:
        if ltr == 'a':
            n = n + 1
    return n 

>>> a_count(x)
2

次のように、これをより簡潔に行うことができます。

>>> sum(elem == 'a' for elem in x)
2

上記のコードは単純に0s と1s(for reach 要素の結果) を加算してselem == 'a'の総数を取得します。'a'

于 2013-06-07T03:27:01.313 に答える
0
x = ['a', 'b', 'a']

def a_count(x):
    n = 0
    for ltr in x:
        if ltr == 'a':
            n = n + 1
    return n
于 2013-06-07T03:27:29.150 に答える