简体   繁体   English

为什么我得到NameError:没有定义全局名称'spacing'

[英]why am i getting NameError: global name 'spacing' is not defined

I'm getting a NameError: global name 'spacing' is not defined for and im not sure why 我得到一个NameError:全局名称'spacing'没有定义,我不知道为什么

def main():
    print("Project One\n")
    print("To encrypt message enter: 1")
    print("To decrypt messsge enter: 2\n")
    pick = int(input())
    if pick == 1:
        print("Encrypting!")
        spacing()
    elif pick == 2:
       print("Decrypting!")
    else:
        print("Try again")

if __name__ == '__main__':
    main()


def spacing():
    text = raw_input("Please Enter the message to encrypt: ").upper()
    print(text)
    key = raw_input("Please enter a key to encrypt").upper()
    print(key)
    space_ignore = ""
    j = 0
    for i in range(len(text)):
        if ord(text[i]) == 32:
            space_ignore += " "
        else:
            if j < len(key):
                space_ignore += key[j]
                j += 1
            else:
                j = 0
                space_ignore += key[j]
                j += 1
    print(space_ignore)
    return text, space_ignore

Python defines are evaluated in-order relative to other statements. Python定义是相对于其他语句按顺序计算的。 By the time main() runs, spacing() has not yet been defined since control has not yet reached def spacing(): ... . main()运行时,还没有定义spacing()因为控件尚未达到def spacing(): ... Move your if __name__ == 'main': block to below the definition of spacing . if __name__ == 'main':块移动到spacing定义下方。

Put spacing() definition above main definition and the last thing you need to place is this: spacing()定义放在main定义之上,最后需要放置的是:

if __name__ == '__main__':
    main()

python is a scripting language,would do “line by line” or easy say:from top to end. python是一种脚本语言,可以“逐行”或简单地说:从上到下。 make the spacing before main. 在主要之前做出间距。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 NameError:未定义全局名称,为什么会收到该错误? - NameError: global name is not defined, why am I getting that error? 为什么会收到(NameError:未定义全局名称“ secondRoom”)? - Why am I getting (NameError: global name 'secondRoom' is not defined)? 为什么我在 __del__ 中收到“NameError: global name ‘open’ is not defined”? - Why am I getting "NameError: global name 'open' is not defined" in __del__? 为什么会出现NameError:未定义名称&#39;array&#39; - Why am I getting NameError: name 'array' is not defined 为什么会出现以下错误:NameError:未定义名称&#39;models&#39; - Why am I getting the following error: NameError: name 'models' is not defined 为什么我收到此错误“NameError:name&#39;self&#39;未定义。” - Why am I getting this error “NameError:name 'self' is not defined.” 为什么我会得到这个? “NameError:名称'响应'未定义” - Why am I getting this? “NameError: name 'Response' is not defined” 为什么我会收到“NameError: name &#39;df2&#39; is not defined”错误? - Why am i getting “ NameError: name 'df2' is not defined” error? 为什么我得到这个 NameError: name "dt' is not defined - Why am I getting this NameError: name "dt' is not defined 我收到 NameError: name &#39;n&#39; is not defined - I am getting a NameError: name 'n' is not defined
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM