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')
?