python - 如何将输入存储为全局变量?
问题描述
当谈到 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)
以后就够了。但我显然误解了一些东西。
解决方案
您可以将变量声明为全局变量并随时随地访问它。例如:
# 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
关键字访问它。因此,代码中提到的多个函数可以访问存储在该变量中的值
推荐阅读
- javascript - 如何使用 Google Apps 脚本获取 Gmail 用户的个人资料图片?
- python - 创建每个列表包含 N 个字典的字典列表
- pytorch - GPU内存为空,但出现CUDA out of memory错误
- python-3.x - 如何从另一个 Pandas 数据框中的一列底部 x 行的总和更新空的 Pandas 数据框
- rsocket - 在 RSocket 服务器应用程序中提取元数据
- javascript - 如何修复videojs上的多个视频源播放错误
- python - 手动连接kaggle的GPU
- tensorflow - 加固超参数
- sql - Couchbase 查询名称别名
- java - 单击 JButton 时是否有禁用蓝色框的方法?