如何在if语句中将字符串作为变量?

时间:2018-12-23 13:09:53

标签: python variables

我正在用python开发一个基于文本的游戏,想检查我所在的字段中有多少棵树。

我正在运行最新的Python(3.7.1)(不使用IDLE,它只是命名为Python3.7.1.exe,看起来像CMD) 我正在尝试使用像这样的变量,但这是说我无法将字符串与整数进行比较(但是如何将字符串转换为“可变文本”?)。

trees_A1 = random.randint(…)
trees_A2 = random.randint(…)
…
Field = A3
if "trees_"+Field > 0

我希望它可以比较trees_A3,但是只看到字符串trees_A3。

3 个答案:

答案 0 :(得分:0)

使用dictionary

print(df.loc['2013-01-02':'2013-01-04','A':'C'])
                   A         B         C
2013-01-02  0.719469  0.423106  0.980764
2013-01-03  0.480932  0.392118  0.343178
2013-01-04  0.438572  0.059678  0.398044

答案 1 :(得分:0)

您可以使用globals()

if globals()["trees_"+Field] > 0:

或使用字典。

答案 2 :(得分:0)

您正在寻找eval()运算符

a = 5
eval("a")

这将导致

  

5

因此您可以使用eval()评估字符串。但是,您不应该这样做。由于eval就像一个邪恶的运算符。它们会在您的程序中引起安全问题。您应该为自己的目的使用字典。

trees = {}
trees["A1"] = random.randint(…)

那么您应该以这种方式调用trees["A1"],这样您将编写更多的pythonic和更合适的代码。