制作一个颜色列表或字典。(我在下面的例子中使用的是字典)
我有一个名为nodes
的类列表,它由Node类的实例组成。
class Node:
def __init__(self, bucketNumber ,colorONE, colorTWO,
colorTHREE, colorFOUR, colorFIVE):
self.bucket = bucketNumber # index
self.color1 = colorONE # quantity
self.color2 = colorTWO # quantity
self.color3 = colorTHREE # quantity
self.color4 = colorFOUR # quantity
self.color5 = colorFIVE # quantity
我问用户他们想要什么颜色的号码。我希望能够取这个int,并将单词"color"和数字连接起来。然后我希望能够访问该变量,如
valueE = (raw_input("Enter color number"))
valueE = int(valueE)
print nodes[0].color+valueE
我该怎么做?
将颜色放在列表或dict中,而不是单独的变量:
self.colors = [colorONE, colorTWO, colorTHREE, colorFOUR, colorFIVE]
print node[0].colors[valueE - 1]
>>> color = {1: "X", 2: "Y"}
>>> color[1]
'X'
>>> color[2]
'Y'
valueE = (raw_input("Enter color number"))
print(getattr(nodes[0], "color"+valueE))
这是未经测试的。查找getattr()
的文档。
试试这个:
class Node:
def __init__(self, bucketNumber, colorONE, colorTWO, colorTHREE, colorFOUR, colorFIVE):
self.bucket = bucketNumber
self.colors = [colorONE, colorTWO, colorTHREE, colorFOUR, colorFIVE]
valueE = int(raw_input("Enter color number"))
print nodes[0].colors[valueE-1]
print eval('nodes[0].color%d' % valueE)