我正在尝试制作基于文本的游戏,但我遇到了将一些变量从一个函数传递到另一个函数的麻烦。我想出了如何修改函数内部的变量并返回新值来覆盖原始函数。
我需要帮助的是如何将room1()
和room2()
变量返回something1(x)
和something2(y)
以及main()
来解锁{{1}声明。
我应该为if
和something1(x)
提供两个不同的功能吗?
这是我遇到问题的一般示例代码:
something2(y)
答案 0 :(得分:0)
通过返回变量,您可以pass
从一个函数到另一个函数的变量。但是,为此,函数必须调用函数体中的另一个函数,例如:
def addandsquare(x, y):
y = squarefunction(x+y) # sum x+y is passed to squarefunction, it returns the square and stores it in y.
return y
def squarefunction(a):
return (a*a) # returns the square of a given number
print(addandsquare(2, 3)) # prints 25
但是,如果你不能在它的体内调用一个函数,但是你想使用该函数的局部变量,那么你可以将这个变量全局声明为这两个函数。
以下是一个例子:
globvar = 0
def set_globvar_to_one():
global globvar # Needed to modify global copy of globvar
globvar = 1
def print_globvar():
print globvar # No need for global declaration to read value of globvar
set_globvar_to_one()
print_globvar() # Prints 1
希望这有帮助!