簡體   English   中英

使用來自另一個 function python3 的值

[英]Use values from another function python3

我有這個代碼,但我不知道如何在另一個 function 中使用用戶的“年齡”,有什么線索我錯了嗎?

def accounts():
    yourCode = input("Please enter your user code. \nIf you already have an account, type your account user code. \nOtherwise, enter a new one to create an account: ")

   
    with open("users.txt", "r") as rf:
        users = rf.readlines() 
        for each_user in [user.split(",") for user in users]: 
            if each_user[0] == yourCode: 
                print(f"Welcome {each_user[1]}") 
                age = each_user[2]
                xxApp() 
                return None 
    with open("users.txt", "a") as af:
        name = input("Please enter your name: ")
        age = input("Enter your age: ")
        af.write(f"{yourCode},{name},{age}\n") 
        print(f"Thank you {name}, your information has been added.")
        xxApp()


def xxApp():
    age = each_user[2]
    print(age)


將其作為參數傳遞

def accounts():
    yourCode = input("Please enter your user code. \nIf you already have an account, type your account user code. \nOtherwise, enter a new one to create an account: ")

   
    with open("users.txt", "r") as rf:
        users = rf.readlines() 
        for each_user in [user.split(",") for user in users]: 
            if each_user[0] == yourCode: 
                print(f"Welcome {each_user[1]}") 
                xxApp(each_user) 
                return None 
    ...


def xxApp(user):
    age = user[2]
    print(age)

您正在定義age = each_user[2] ,但each_user變量僅在accounts()的 scope 中可用。

您可以在此處閱讀有關 python 范圍的信息

我會修改xxApp() function 以將變量作為這樣的參數

def xxApp(each_user):
    age = each_user[2]
    print(age)

然后你調用xxApp()並將each_user作為參數傳遞,所以它在xxApp()的 scope 中可用,就像這樣xxApp(each_user)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM