首页 > 解决方案 > Python在另一个函数中使用来自一个函数的变量

问题描述

在一个函数中,我得到三条信息并将它们写入一个文本文件。在另一个函数中,我重写了其中一条信息(代码)。

FirstName, SecondName, Code来自的变量function1是未知的function2- 我该如何解决这个问题?/ 将它们从一个函数传递到另一个函数?

def function1():
    FirstName = input("Enter First Name")
    SecondName = input("Enter Surname")
    Code = input("Enter Code")

AllDetails = (GuestFirstName, GuestSecondName, Code)
f = open("AllDetails.txt","w") 
f.write(str(AllDetails))    
f.close()

menu()

def function2():           
    Newcode = input ("Enter if new code needed")
    if Newcode == "Y":
        Code = "****"
        AllDetails = (FirstName, SecondName, Code)
        f = open("AllDetails.txt","w") 
        f.write(str(AllDetails))
        f.close()

menu() 

标签: python

解决方案


函数的值如何return并将它们分配给这样的变量

def function1():
    FirstName = input("Enter First Name")
    SecondName = input("Enter Surname")
    Code = input("Enter Code")
    return FirstName, SecondName, Code

然后您可以分配它们并在其余代码中使用它们

FirstName, SecondName, Code = fucntion1()

你现在甚至可以fucntion2()像这样传递那些

def function2(FirstName, SecondName, Code);
    ....

然后function2像这样调用

function2(FirstName, SecondName, Code)

我建议在你的函数定义中使用通用名称,并在 camel_case 上使用snake_case

以下是我将如何修改整个内容:

def get_info():
    first = input("Enter First Name")
    second = input("Enter Surname")
    user_code = input("Enter Code")
    return  first, second, user_code

def write_info(f_name, s_name, code_in):
    new_code  = input ("Enter if new code needed")
    if new_code == "Y":
        code_in = "****"
        all_details = (f_name, s_name, code_in)
        f = open("AllDetails.txt","w")
        f.write(str(all_details))
        f.close()
    else:
        pass

first_name, second_name, code = get_info()
write_info(first_name, second_name, code)

all_details = (guest_first, guest_second, code)
f = open("AllDetails.txt","w") 
f.write(str(all_details))
f.close()

menu()

再次不确定总体目标是什么,但这将帮助您解决一些阻碍您实现目标的问题。这里缺少信息,menu没有定义。


推荐阅读