我正在从脚本1运行脚本2,但脚本2的输出未存储为脚本1中的变量。
SCRIPT1
def main():
selection = int(raw_input("Enter Selection: "))
if selection == 1:
a = 1
import script2
result = script2.doit(a)
print result
return True
elif selection == 0:
return False
while main():
pass
print result
脚本2
def doit(a):
return a+2
虽然结果在迭代后被打印,但在结束循环后它不会被存储为“结果”。循环外部的打印结果给出错误“NameError:name'result'未定义”。
答案 0 :(得分:1)
这是因为a是局部变量。当main函数返回一个值时,将清除局部变量。您应该将其作为引用传递或返回值并重新分配给全局变量。
答案 1 :(得分:0)
将全局结果添加到main()的主体中可以完成这项工作。对答案的假名称的归属。谢谢!
def main():
global result
......