我是一名休闲游戏玩家和业余程序员,懂一点 Python。我正在尝试制作一个简单的文本冒险游戏引擎,因此我需要从玩家那里获得原始输入。
这是 Python 3.2.2,所以我的行是这样的:
var = input("What do you want to do? ").lower()
那行有效,但我不想输入整行,而是想将它变成一个函数(类似于“getinput()”)。根据我对 input() 和函数的阅读,我正在寻找一个不返回任何内容但将另一个变量的状态(此处为“var”)更改为“副作用”的函数。
我确实有一个不带参数的工作函数“halt()”:
def halt():
input("(Press Enter to continue...) ")
print("")
调用“halt()”会给出提示,等待 Enter,然后打印一个空行并继续,这是我的意图。
我试图开始工作的功能如下所示:
def getinput(x):
x = input("What do you want to do? ").lower()
print("")
定义 getinput(x) 后:
var = ""
getinput(var)
print(var)
该片段不打印用户的输入,我很困惑为什么。我需要做什么才能以预期的方式完成这项工作?
我试图用函数做的事情是不可能的,还是我对范围一无所知?我应该参加codereview吗?