当我尝试构建井字游戏时,我想测试我的显示板功能。它不断给我“元组索引超出范围”的错误,因此我将其更改为最简单的形式,我只是在格式方法中放置了一个列表:
print(' {7} | {8} | {9} \n ------------ \n {4} | {5} | {6} \n ----------- \n {1} | {2} | {3} '.format(['#','X','O','X','O','X','O','X','O','X']))
该列表包含10个元素。而且我看不到元组,我是python的初学者,而我目前正为此苦苦挣扎。
答案 0 :(得分:0)
.format
可以不使用列表。
print(' {7} | {8} | {9} \n ------------ \n {4} | {5} | {6} \n ----------- \n {1} | {2} | {3} '.format(
'#', 'X', 'O', 'X', 'O', 'X', 'O', 'X', 'O', 'X'))
答案 1 :(得分:0)
.format
需要单独的参数,而不是可迭代的参数。您需要使用*
运算符将列表解压缩为单独的args。
print(' {7} ...'.format(*['#','X','O','X','O','X','O','X','O','X']))
# ^ here
答案 2 :(得分:0)
当前,您为format
提供了一个参数-包含10个元素的列表。
通过解压缩列表或完全不使用列表来给format
十个参数。
带包装:
>>> print(' {7} | {8} | {9} \n ------------ \n {4} | {5} | {6} \n ----------- \n {1} | {2} | {3} '.format(*['#','X','O','X','O','X','O','X','O','X']))
X | O | X
------------
O | X | O
-----------
X | O | X
不带包装:
>>> print(' {7} | {8} | {9} \n ------------ \n {4} | {5} | {6} \n ----------- \n {1} | {2} | {3} '.format('#','X','O','X','O','X','O','X','O','X'))
X | O | X
------------
O | X | O
-----------
X | O | X
答案 3 :(得分:0)
您正在将一个参数传递给format
。删除列表[ ]
以传递十个参数。
或者您可以使用*
解包运算符将一个可迭代序列解包为多个参数。
print(
' {7} | {8} | {9} \n'
'-----------\n'
' {4} | {5} | {6} \n'
'-----------\n'
' {1} | {2} | {3} '.format(*'#XOXOXOXOX')
)