Python 变量名是另一个变量

Python 变量名是另一个变量,python,Python,这听起来像是一个奇怪的问题,所以我将在下面添加代码 red = '○' black = '●' board = [['','','','','','',''], ['','','','','','',''], ['','','','','','',''], ['','','','','','',''], ['','','','','','',''], ['','','','','oke','','']]

这听起来像是一个奇怪的问题,所以我将在下面添加代码

red = '○'
black = '●'

board = [['','','','','','',''],
         ['','','','','','',''],
         ['','','','','','',''],
         ['','','','','','',''],
         ['','','','','','',''],
         ['','','','','oke','','']]

def printboard():
    print((((str(board).replace('],', '\n')).replace(',', '')).replace('[', ' ')).replace(']', ''))

def place(colour):
    printboard()
    column  = int(input(colour + ', what row do you wish to place your token in? (1-'+str(len(board[0]))+')'))
    for i in reversed(range(len(board))):
        if not board[i][column-1]: 
            board[i][column-1] = colour  <--- I want colour to be the black or white circle depending on 'colour'
            break


place('red')
printboard()
red=
○'
黑色的●'
董事会=[['','','','','','',
['','','','','','',''],
['','','','','','',''],
['','','','','','',''],
['','','','','','',''],
['','','','','oke','','','',']
def打印板():
打印(((str(board).replace('],'\n'))。replace(',','')。replace('[','')。replace('],'')))
def位置(颜色):
印制板()
column=int(输入(颜色+),您希望将令牌放在哪一行?(1-'+str(len(板[0]))+'))
对于反向(范围(透镜(板))中的i:
如果不是董事会[i][1栏]:

board[i][column-1]=color虽然从技术上讲,在Python中开始处理变量名是可能的,但更好、更通用的解决方案是为此使用数据结构。在这种情况下,需要一本字典

colours = { "red": '○', "black": '●' }
然后,您可以通过名称轻松访问这些值:

>>> colours["red"]
'○'

(您可以使用索引器中的任何变量,就像您可以使用列表索引一样,因此您可以执行
colors[color]

您实际上还没有问过问题。@bphi哦,是的,代码中的问题。因此,如果变量颜色是“红色”,那么它就是称为红色的变量。谢谢你的
printboard()
不漂亮。尝试循环并使用
join()
连接项目。为什么不直接调用
place(red)
place(black)
而不是
place('red')
place('black')