Python 从其他函数导入变量

Python 从其他函数导入变量,python,function,variables,Python,Function,Variables,我尝试过搜索和尝试人们为他人提出的建议,但这对我不起作用,以下是我的代码: def CreateAccount(): FirstName = input('What is your first name?: ') SecondName = input('What is your second name?: ') Age = input('How old are you?: ') AreaLive = input("What area do you live in?

我尝试过搜索和尝试人们为他人提出的建议,但这对我不起作用,以下是我的代码:

def CreateAccount():
    FirstName = input('What is your first name?: ')
    SecondName = input('What is your second name?: ')
    Age = input('How old are you?: ')
    AreaLive = input("What area do you live in?: ")
    return FirstName, SecondName, Age, AreaLive

def DisplayAccountInfo(FirstName,SecondName,Age,AreaLive):
    print("Your Firstname is",FirstName)
    print("Your Secondname is",SecondName)
    print("You are",Age," years old")
    print("You live in the",AreaLive," area")
    return




def ConfirmAccountF():
    ConfirmAccount = input("Do you have an account? y,n; ")
    if  ConfirmAccount == "n":
        CreateAccount()

    else: #ConfirmAccount -- 'y'
        DisplayAccountInfo()

while True:

    ConfirmAccountF()
所以它现在应该无限期运行,但我希望它做的是将变量从“CreateCount”传递到“DisplayAccountInfo”

当我按下除n以外的任何键表示“confirAccount”时,我得到的是变量未定义

如果我在“DisplayAccountInfo()”中手动设置它,那么它不会抛出任何错误

这只是我在瞎搞和试图理解python,如果有人能帮忙的话,那就太好了。

使用:

DisplayAccountInfo(*CreateAccount())

这样做的目的是获取由
CreateAccount
返回的四个字符串的元组,并将它们转换为四个参数,作为单独的参数传递给
DisplayAccountInfo
。而如果您省略了
*
操作符,只调用了
DisplayAccountInfo(CreateAccount())
,则会将一个元组参数传递给
DisplayAccountInfo
,导致
TypeError
异常(因为
DisplayAccountInfo
需要四个参数,而不是一个)

当然,如果还需要保存从
CreateAccount
返回的字符串以供以后使用,则需要在调用
CreateAccount
DisplayAccountInfo
之间使用以下命令:

DisplayAccountInfo(*CreateAccount())

这样做的目的是获取由
CreateAccount
返回的四个字符串的元组,并将它们转换为四个参数,作为单独的参数传递给
DisplayAccountInfo
。而如果您省略了
*
操作符,只调用了
DisplayAccountInfo(CreateAccount())
,则会将一个元组参数传递给
DisplayAccountInfo
,导致
TypeError
异常(因为
DisplayAccountInfo
需要四个参数,而不是一个)


当然,如果您还需要保存从
CreateAccount
返回的字符串以供以后使用,则需要在调用
CreateAccount
DisplayAccountInfo
之间执行此操作,您在
CreateAccount()
上声明的变量不能从外部通过其名称进行访问。要将信息传递给另一个函数,需要先存储其值:

first_name, second_name, age, area = "", "", "", ""

def ConfirmAccountF():
    ConfirmAccount = input("Do you have an account? y,n; ")
    if  ConfirmAccount == "n":
        first_name, second_name, age, area = CreateAccount()

    else: #ConfirmAccount -- 'y'
        DisplayAccountInfo(first_name, second_name, age, area)

您在
CreateAccount()
上声明的变量无法从外部按其名称访问。要将信息传递给另一个函数,需要先存储其值:

first_name, second_name, age, area = "", "", "", ""

def ConfirmAccountF():
    ConfirmAccount = input("Do you have an account? y,n; ")
    if  ConfirmAccount == "n":
        first_name, second_name, age, area = CreateAccount()

    else: #ConfirmAccount -- 'y'
        DisplayAccountInfo(first_name, second_name, age, area)

createAccount
正在返回变量,但您没有将它们分配给任何对象。改为执行类似于
data=CreateAccount()
的操作,然后在
DisplayAccountInfo()
功能中传递
*数据
,您希望在
DisplayAccountInfo()
中显示哪些帐户信息?如果用户键入
y
,您如何知道要为哪个帐户显示信息?
createAccount
正在返回变量,但您没有将它们分配给任何对象。改为执行类似于
data=CreateAccount()
的操作,然后在
DisplayAccountInfo()
功能中传递
*数据
,您希望在
DisplayAccountInfo()
中显示哪些帐户信息?如果用户键入
y
,您如何知道显示信息的帐户?此外,我的代码不是最好的,但我认为不需要进一步了解pythonAlso就很容易理解。因此,我的代码不是最好的,但我认为不需要进一步了解python就很容易理解