如何从一个函数中获取用户输入的数据并在另一个函数中使用 python

how to grab unser inputed data from one function and use in another python

这可能是一个简单的答案,也许必须对全局变量做些什么?我怎样才能从一个函数中获取用户输入的数据,并使其能够与同一程序中的其他函数一起调用和输出。例如:

hydro = False
    def main():
        medium = input("soil or hydro")

    def second():
        if medium == "hydro":
            hydro = True


main()
second()

您可以使用全局变量解决此问题:see here. However, it's a better practice in Python to use classes,并在特定 class.

中保留共享变量的函数以及它们共享的变量

在您的代码中,它看起来像这样:

class MediumHandler(object):
    def __init__(self):
        self.hydro = False

    def main(self):
        self.medium = input("soil or hydro")

    def second(self):
        if self.medium == "hydro":
            self.hydro = True

handler = MediumHandler()
handler.main()
handler.second()

请注意 self.mediumhydro 的每个用法中的使用。这会将变量附加到对象,而不是将它们留在全局环境中。

如果您不想使用 类 那么请确保使用全局变量:

hydro = False
medium = ''
def main():
    global medium
    medium = raw_input("soil or hydro: ")


def second():
    global medium
    global hydro
    if medium == "hydro":
        hydro = True

main()
print medium
second()
print hydro

另请注意,我使用 raw_input() 而不是 input()input 不适用于您的情况,因为您希望字符串保留为字符串。