我一直在研究这个问题,我认为即将到来。
问题:
编写一个函数get_column(game,col_num),该函数采用合法的3 x 3游戏的noughts和crosses,并返回一个包含列号col_num,从上到下的值的3元素列表。您可以假设col_num在0到2的范围内。 [提示:你必须通过循环遍历行,选择每行所需的元素来构建返回值。]
我的工作:
def get_column(game, col_num):
x = []
for i in game:
for j in i:
x.append(i[col_num])
return x
测试:
column1 = get_column([[' O',' X',' O'],[' X',' ;',''],['','','']],0)
打印(列1)
结果:
[' O',' O',' O',' X',' X',& #39; X',' ',' ',' ']
通缉格式:
[' O',' X',' '。]
我很确定我得到的答案是正确的,但格式不正确。结果显示我正在增加“O' X'还有两次。我想这与循环有关,但我可以检测出究竟是什么。
任何帮助将不胜感激!干杯!
答案 0 :(得分:1)
for i in game:
for j in i:
x.append(i[col_num])
我假设游戏是三个列表的列表。在这种情况下,你的内部循环遍历i中的三个项目中的每一个,并为每个项目追加i [col_num]。 省略内循环(对于i中的j),它应该正常工作。
答案 1 :(得分:1)
def get_column(game, col_num):
x = []
for i in range(3):
x.append(game[i][col_num])
return x