我想创建一个程序(对称(p)),它需要一个列表,它必须是像Sudoku游戏一样的方形,并且其组件也是列表和输出如果“方形”是对称的,则值为真或假。真正基本的数独程序
如果第一行等同于第一列,第二行等同于第二列等,则正方形是对称的。现在,我编写了代码,但它不起作用。其输出始终为真。这里是代码的粘贴:
def column_building(list, position):
column = []
for i in list:
column.append(i[position])
return column
a = [[1, 2, 3],
[2, 3, 4],
[3, 4, 1]]
b = [["cat", "dog", "fish"],
["dog", "dog", "dog"],
["fish","fish","cat"]]
def symmetric(p):
counter = 0
for e in p:
if e == column_building(p, counter):
counter = counter + 1
return True
else:
return False
break
print symmetric(b)
在代码中,第一个程序告诉哪一列是确定位置的列。 a
和b
是我创建用作示例的列表。正如我所说的,它的输出总是为True,但如果我使用b
,则e
是列表的第二个元素,它不等于第二个位置构建的列([dog, dog, fish]
)。
是的,这是最好的答案+1。如果它是一个包含元组的列表,它将只是列表(zip(* b)),所以这可能是一个替代方案。 **列表(zip(* b))==列表(地图(元组,b))** –
感谢您的帮助!然而,因为我是一个真正的初学者在这个python魔术(哈哈)我没有学习这些功能,所以我必须排除没有他们的活动。 –