条件未得到满足

时间:2013-10-01 00:17:23

标签: python function loops conditional-statements puzzle

我正在写一个小脚本,它通过一个字符串找到一个给定的字符并用另一个替换它。

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。由于某种原因,条件没有得到满足,但我不确定原因。

1 个答案:

答案 0 :(得分: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')