2

初心者向けの Python の本を完成させています。質問の意図が理解できたと思います。

関数にカプセル化し、文字列と文字を引数として受け入れるように一般化します。

fruit = "banana"
count = 0
for char in fruit:
    if char == 'a':
        count += 1
print count

私の答えは次のとおりです。

def count_letters(letter, strng):
    fruit = strng
    count = 0
    for char in fruit:
        if char == letter:
            count += 1
    print count

count_letters(a, banana)

しかし、それは間違っています: name 'a' is not defined . どこが間違っているのかわかりません。インタプリタは、'a' が 'letter' などの引数であることを知っている必要があると考えました。

だから私は何か基本的なものを見逃しているに違いありません。

手伝ってくれますか?

4

3 に答える 3

9

abananaは変数名です。どちらも定義していないため (例: a = 'x')、インタープリターはそれらを使用できません。

それらを引用符で囲み、文字列に変換する必要があります。

count_letters('a', 'banana')

または、事前に割り当てて変数を渡します。

l = 'a'
s = 'banana'

count_letters(l, s)
于 2013-09-28T20:47:20.287 に答える