如何将字符串更改为变量

2024-05-08 19:38:50 发布

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

我正在尝试做一个UNO游戏,我正在创建AIs,并试图在屏幕上显示他们的随机卡,这是我的代码。它不工作,因为RandomImage是一个字符串,所有输出字符串的可能性都在代码的上层定义。这意味着,无论RandomImage等于什么,它都已经被定义了,但是它不起作用,因为它是字符串而不是变量,所以如何将RandomImage更改为变量而不是字符串?你知道吗

RandomImage = [str(Player1RandomColour)+str(Player1RandomNumber)]

PlayerAILabel = Label(master = window, image = RandomImage)

PlayerAILabel.place(x = 582, y = 434)

Tags: 字符串代码master游戏定义屏幕可能性label
1条回答
网友
1楼 · 发布于 2024-05-08 19:38:50

如果我正确地理解了你的问题(一个适当的minimal reproducible example会有所帮助),你的回答是:

# defined variables - value is only here for the example
Red1 = 1 
Red2 = 2
Red3 = 3
Blue1 = 11
Blue2 = 12
Blue3 = 13


# and then later you have

Player1RandomColour = "Blue"
Player1RandomNumber = "2"

varname = Player1RandomColour + Player1RandomNumber

# and what you want is to retrieve the variable named `varname`, 
# so in this case `Blue2` 

something = how_do_get_the_variable_from(varname)
assert something is Blue2

答案很简单:用dict代替:

colors = {
    "Red1": 1, 
    "Red2": 2,
    "Red3": 3,
    "Blue1": 11,
    "Blue2": 12,
    "Blue3": 13,
}

Player1RandomColour = "Blue"
Player1RandomNumber = "2"

varname = Player1RandomColour + Player1RandomNumber
value = colors[varname]

相关问题 更多 >