我收到了一个NameError:全局名称' spacer'未定义,我不确定为什么
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
答案 0 :(得分:2)
Python定义是相对于其他语句按顺序计算的。到main()
运行时,spacing()
尚未定义,因为控件尚未达到def spacing(): ...
。将if __name__ == 'main':
块移至spacing
的定义之下。
答案 1 :(得分:1)
将spacing()
定义放在main
定义之上,您需要放置的最后一件事是:
if __name__ == '__main__':
main()
答案 2 :(得分:0)
python是一种脚本语言,可以“逐行”或简单地说:从上到下。 在main之前做间距。