簡體   English   中英

Python:給定一個二維數組,在沒有庫導入的情況下檢查每行的列數是否相同

[英]Python: given a 2-D array, check to see if the number of columns in each row are the same without library imports

給定一個名為 board 的二維數組,編寫一個 function 如果每行中的列數相等,則返回 True。 確保代碼能夠與任何輸入板一起使用。

前任:

board= [[0,0,0],[0,0,0],[0,1,3],[0,1,4,2]]

is_rectangle() 將返回:False

這是我所擁有的:

def is_rectangle(board):
    col= len(board[0])
    row= len(board)
    for c in range(col):
        for r in range(row):
            if len(board[r]) == col and len(board) == row:
                return True
            else:
                return False

但不知何故,我的邏輯是錯誤的。 請幫忙!

您的問題在於您只檢查了董事會的一列后返回。 這意味着您將在第一次檢查后立即返回 True。

您還只需要檢查一個維度(您的電路板只能有一個長度,但每個項目可以有不同的長度,這就是我們正在檢查的內容)。

一些更正的代碼可以 go 如下:

def is_rectangle(board):
    col= len(board[0])
    for r in range(row):
       if len(board[r]) != col:
           return False
    return True

由於所有行的大小必須相同,只需將所有行與第一行進行比較,如下所示:

def is_rectangle(board):
for row in board:
    if len(row) != len(board[0]):
        return False
return True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM