0

文字列を通過し、特定の文字を見つけて別の文字に置き換える小さなスクリプトを書いています。

def scrambler(string):
    sen = ''
    for c in string:
        if c.lower == 'k':
            sen += 'm'
        elif c.lower == 'o':
            sen += 'q'
        elif c.lower == 'e':
            sen += 'g'
        else:
            sen += c
    return sen

print scrambler('koe')

文字が 'k' である場合にわかるように、'm' を sen に追加する必要があります。何らかの理由で条件が満たされていませんが、その理由はわかりません。

4

1 に答える 1

2

関数オブジェクトを文字定数と比較しています。代わりに、関数を呼び出すc.lower必要があります。

def scrambler(string):
    sen = ''
    for c in string:
        if c.lower() == 'k':
            sen += 'm'
        elif c.lower() == 'o':
            sen += 'q'
        elif c.lower() == 'e':
            sen += 'g'
        else:
            sen += c
    return sen

print scrambler('koe')
于 2013-10-01T00:19:37.717 に答える