Python UnboundLocalError“需要帮助”

时间:2012-04-13 01:03:53

标签: python

def rotate_word(word,number)
    for i in word:
        word_num = ord(i)
        new_word += chr(word_num + number)
return new_word

大家好,上面的代码无效。这是一个python函数。当我运行程序时,我将返回一个错误:“UnboundLocalError:'new_word'在赋值之前被引用”

这意味着什么?任何人都可以帮助我吗?

我的函数的输出是:

print rotate_word('abc',5)

输出:fgh

1 个答案:

答案 0 :(得分:2)

您应该在使用之前定义new_word。将其放在for

之前
new_word = ''

你也错过了返回的缩进和def后的冒号。这是一个固定版本:

def rotate_word(word, number):
    new_word = ''
    for i in word:
        word_num = ord(i)
        new_char = chr(word_num + number)
        if new_char > 'z':
            new_char = chr(ord(new_char) - 26)
        new_word += new_char
    return new_word

print rotate_word('abc', 5)
print rotate_word('xyz', 3)

编辑:我已更新您的代码,以便在'z'

之后进行修改