我在Windows 10设备上使用python 3.1,但我遇到了问题。
当我使用我在另一个函数中定义的赋值时,赋值不起作用。我的问题是在一长串代码中,但我做了一个较小的版本来帮助解释发生了什么。
def test():
""" takes input """
f = input("1 or 2? ")
if f == 1:
t = "wow"
if f == 2:
t = "woah"
def test2(t):
""" Uses input """
print(t)
def main():
test()
test2(t)
main()
input("\n\nPress enter to exit" )
我不确定为什么程序在选择输入后不会使用赋值“t”。
我的目标是使用第一个函数的输入来改变第二个函数的结果。当然我的原始程序更复杂,简单的打印功能,但这个演示是我所知道的搞乱我的程序。我的原始程序处理打开.txt文件,输入正在选择要打开的文件。
非常感谢任何帮助。
答案 0 :(得分:1)
您必须返回“t”才能在test2中使用它:
def test():
""" takes input """
f = input("1 or 2? ")
if f == '1':
t = "wow"
if f == '2':
t = "woah"
return t # This returns the value of t to main()
def test2(t):
""" Uses input """
print(t)
def main():
t = test() # This is where the returned value of t is stored
test2(t) # This is where the returned value of t is passed into test2()
main()
input("\n\nPress enter to exit" )