对于python而言,我是一个绝对的新手,我正在通过自己的文字冒险游戏来学习。
我有一些代码可以让用户输入他们的名字:
# player name
def playerName():
name = ""
name = input("Before we begin, what is your name, warrior? ")
print("\n")
print("Welcome {}, now be on your way!".format(name))
print("\n")
这在游戏中应该有效。玩家输入他们的名字并继续游戏。但是,我希望以后能够在不同的函数中打印播放器的输入,并继续运行名称未定义的错误消息。所以我试图将此输入存储为全局变量。我认为这是正确的方法,是吗?
我已经阅读了关于将函数存储为全局变量的信息,但这些函数始终已由程序员指定,即name = sarah
。
如何存储输入以便稍后打印?我以为print("string" + name)
以后就足够了。但我显然误解了一些事情。
答案 0 :(得分:2)
在文件顶部,创建变量:
name = None
# other functions....
def function_you_want_to_use_name_in():
global name
print(name)
def main():
global name
name = input("Before we begin, what is your name, warrior? ")
print("\n")
print("Welcome {}, now be on your way!\n".format(name))
如果您只打印该值,则不必在global name
中加入function_you_want_to_use_name_in
;函数中没有名为name
的其他变量,因此python使用全局值。我通常会把它包括在内,因为它更清楚了解它是什么。
答案 1 :(得分:2)
您可以将变量声明为全局变量,并随时随地访问它。例如:
# player name
name = ""
def playerName():
global name
name = input("Before we begin, what is your name, warrior? ")
print("\n")
print("Welcome {}, now be on your way!".format(name))
print("\n")
def printname():
print(name)
playerName()
printname()
输出:
Before we begin, what is your name, warrior? hari
Welcome hari, now be on your way!
hari
说明:
首先在文件中声明变量name
,然后使用global
关键字对其进行访问。因此,存储在该变量中的值由代码