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就很容易理解