我无法在idle或pycharm或任何平台上运行我的python代码

时间:2015-10-27 09:10:01

标签: python python-3.x

我已经创建了一个代码来计算字母的数字命运数,我的代码是正确的还是有问题的。我只使用python 3 IDLE。 ERROR ='局部变量' counter'在转让前引用'

def NNA(name):
    counter
    for i in name:

        if i == 'a' or i == 'i' or i == 'j' or i == 'q' or i == 'y':
            counter = 1

        elif i == 'b' or i == 'k' or i == 'r':
            counter += 2

        elif i == 'c' or i == 'g' or i == 'l' or i == 's':
            counter += 3

        elif i == 'd' or i == 'm' or i == 't':
            counter += 4

        elif i == 'h' or i == 'e' or i == 'n' or i == 'x':
            counter += 5

        elif i == 'u' or i == 'v' or i == 'w': 
            counter += 6

        elif i == 'o' or i == 'z':
            counter += 7


        elif i == 'p' or i == 'f':
            counter += 8

    print(counter)

NNA('guru prasath')

2 个答案:

答案 0 :(得分:3)

1)如果在初始化时没有将其设置为数字,则无法递增计数器:counter = 0

2)您的代码很难阅读,您可以使用更简单明了的方式: i in 'aijky'如果我在你的字母串中,那就是真的

def NNA(name):
    counter = 0
    for i in name:
        if i in 'aijky':
            counter += 1 
        elif i in 'bkr':
            counter += 2

答案 1 :(得分:1)

你没有初始化变量,python跳过空变量声明,试试

counter = 0