我想創建一個程序(對稱(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魔術(哈哈)我沒有學習這些功能,所以我必須排除沒有他們的活動。 –