gpt4 book ai didi

python - 如何从 func1 中获取 var1 并在 func2 中使用它而不在 func1 中运行两次

转载 作者:太空宇宙 更新时间:2023-11-03 20:59:41 25 4
gpt4 key购买 nike

我的 func1 包含一个变量,我想在 func2 中访问该变量。我尝试在下面的代码中返回 func1 中的变量,然后将变量 "user_name" 设置为函数 "first_name_information",但是这个使 func1 运行两次,我不希望发生这种情况。

def func1():
user_name = input("What's your name? ")

if any(char.isdigit() for char in user_name):
print("You can't put a number in your name.")
sys.exit()
else:
pass

return user_name

def func2():
user_name = first_name_information()
last_name = input("What's your last name {}? ".format(user_name))

if any(char.isdigit() for char in last_name):
print("You can't put a number in your last name.")
sys.exit()
else:
pass

最佳答案

您可以通过几种方法来做到这一点,但这可能适合您的情况,您只需从 func2 调用 func1 即可:

def func1():
user_name = input("What's your name? ")
if any(char.isdigit() for char in user_name):
print("You can't put a number in your name.")
sys.exit()
return user_name

def func2():
user_name = func1()
last_name = input("What's your last name {}? ".format(user_name))

if any(char.isdigit() for char in last_name):
print("You can't put a number in your last name.")
sys.exit()
return (user_name, last_name)

func2()

您需要从第二个函数返回并将两个值带回(可能作为元组)。

看起来你正在制作某种游戏,你可能应该使用 class相反,为您的用户存储信息更有意义。

此外,您还专门检查 isdigit(),但您可以使用 .isalpha() [docs] 检查整个字符串中的字母字符。

关于python - 如何从 func1 中获取 var1 并在 func2 中使用它而不在 func1 中运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55785333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com