Python对输入变量的回调

2024-04-29 06:05:58 发布

您现在位置:Python中文网/ 问答频道 /正文

if(input == "Karma Score"):
    print("Your Karma score is {}.format(charKarma) + ".")

这可能是一个奇怪的问题,我对python还不熟悉,所以我被难住了。 我给自己设定了一个目标,完成一个以文本为基础的冒险游戏,该游戏的特点是“因果报应”系统。它基本上是一个降尘系列“因果报应”系统的淡化版本

我需要帮助了解如何在控制台请求时回调变量值

我的意大利面代码的简化版本是:

if(Input == "Print Variable")
    print("variable")

非常感谢你抽出时间


Tags: 文本版本format目标inputyourifis
1条回答
网友
1楼 · 发布于 2024-04-29 06:05:58

尽管正如@juanpa.arrivillaga在评论中指出的那样,这可能是一个糟糕的设计,但是用Python可以很容易地完成

Python在概念上将变量及其值保存在字典中,您可以使用内置函数^{}locals()检索字典。在您的情况下globals()可能就是您想要的。因此,您可以打印变量karma的值,如下所示:

print( globals()["karma"] )

或者,如果我正确理解了您的意图,以下是上下文中可能出现的情况:

user_input = input("command$ ")
words = user_input.split()
if words[0] == "print":
    var_name = words[1]
    value = globals()[var_name]
    print(value)

此处仅作补充:如果变量是在另一个模块中定义的,请使用getattr(module, var_name)module.__dict__[var_name]。因此,以下工作也很有效:

import math
print( getattr(math, "pi") )
pritn( math.__dict__["pi"] )

这里的__dict__基本上就是globals()为当前模块返回的内容

相关问题 更多 >