Diện tích ma trận vuông trong python

//Để in các phần tử Hình vuông trong của một ma trận đã cho
a=[]
n=int[input["Nhập kích thước của . "]]
print["Nhập các phần tử. "]
cho tôi trong phạm vi [n].
row=[]
cho j trong phạm vi[n].
hàng. append[int[input[]]]
a. append[row]
print["Đầu ra. "]
print[a]
print["Hiển thị mảng ở dạng ma trận. "]
cho tôi trong phạm vi [n].
cho j trong dãy[n].
print[a[i][j], end=" "]
print[]
print["Hình vuông bên trong . "]
k = n-1
if [k > n].
print[]
for i in range[n - k+1].
cho j trong phạm vi[n - k+1 ].
print[a[i+1][j+1], end = " "]
print[]

Một vị trí mà kết quả được lưu trữ. Nếu được cung cấp, nó phải có hình dạng mà đầu vào phát tới. Nếu không được cung cấp hoặc Không có, một mảng mới được phân bổ sẽ được trả về. Một bộ [chỉ có thể là đối số từ khóa] phải có độ dài bằng với số lượng đầu ra

ở đâu array_like, tùy chọn

Điều kiện này được phát qua đầu vào. Tại các vị trí có điều kiện là True, mảng out sẽ được đặt thành kết quả ufunc. Ở những nơi khác, mảng out sẽ giữ nguyên giá trị ban đầu của nó. Lưu ý rằng nếu một mảng out chưa được khởi tạo được tạo thông qua out=None mặc định, các vị trí trong đó có điều kiện là Sai sẽ vẫn chưa được khởi tạo

# Fuction that check if "X" is present or not and returns False when X is not
def X_Only[Matrix:list]:
    for row in Matrix:
        for cell in row:
            # check if value is not X
            if cell!='X':
                return False
    return True


#Function that returns where max_matrix starts and ends at.
def sub_size[lent:int]:
    for start in range[lent]:
        for stop in range[start+1, lent+1]:
            yield[start, stop]


#Function that caculate maximum area of square with many X
def squareAreaWithX[matr:list, M:int, N:int]:
    maximum_area = 0
    for begin_x, stop_x in sub_size[M]:
        for begin_y, stop_y in sub_size[N]:
            temp_matrix = [i[begin_y:stop_y] for i in matr[begin_x:stop_x]]
            if X_Only[temp_matrix]:
                x= stop_x-begin_x
                y= stop_y-begin_y
                if maximum_area < x*y:
                    maximum_area=x*y
    #print maximum area of square
    print[maximum_area]


while True:
    # m, n = [map[int, input[].split[]]]
    s = input[]
    M, N = [int[i] for i in s.split[]]
    #Enter matrix values
    matrix = list[[] for i in range[N]]
    for i in range[M]:
        matrix[i]=list[input[].split[]]
    #calculate area of the largest X matrix
    squareAreaWithX[matrix, M, N]

Viết chương trình Python để đọc ma trận vuông từ bàn điều khiển và in tổng đường chéo chính của ma trận. Chấp nhận kích thước của ma trận vuông và các phần tử cho mỗi cột được phân tách bằng khoảng trắng [cho mỗi hàng] làm đầu vào từ người dùng

Giải pháp mẫu

Mã Python

size = int[input["Input the size of the matrix: "]]
matrix = [[0] * size for row in range[0, size]]
for x in range[0, size]:

    line = list[map[int, input[].split[]]]

    for y in range[0, size]:
        matrix[x][y] = line[y]

matrix_sum_diagonal = sum[matrix[size - i - 1][size - i - 1] for i in range[size]]
print["Sum of matrix primary diagonal:"]
print[matrix_sum_diagonal]

Đầu ra mẫu

Input the size of the matrix:  3
 2 3 4
 4 5 6
 3 4 7
Sum of matrix primary diagonal:
14

Trình bày bằng hình ảnh


Sơ đồ


Trực quan hóa việc thực thi mã Python

Công cụ sau đây trực quan hóa những gì máy tính đang thực hiện từng bước khi nó thực thi chương trình nói trên


Trình chỉnh sửa mã Python

Có một cách khác để giải quyết giải pháp này?

Trước. Viết chương trình Python để đọc ma trận từ bàn điều khiển và in tổng cho mỗi cột. Chấp nhận các hàng, cột và thành phần ma trận cho mỗi cột được phân tách bằng khoảng trắng [cho mỗi hàng] làm đầu vào từ người dùng.
Tiếp theo. Viết chương trình Python để Zip hai danh sách đã cho.

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



con trăn. Lời khuyên trong ngày

Một loại bộ đếm khác

Phương thức truy cập từ thư viện Bộ sưu tập sẽ tính bên trong cấu trúc dữ liệu của bạn theo cách tiếp cận phức tạp. Nó sẽ trả về một từ điển các kết quả

Đó có lẽ là cách tiếp cận duy nhất cho đến khi quầy đi xa

from collections import Counter

counter = Counter[['Apple', 'Apple', 'Apple', 'Apple','Orange', 'Orange','Strawberries','Strawberries']]
print[counter]

đầu ra

Counter[{'Apple': 4, 'Orange': 2, 'Strawberries': 2}]

Có nhiều hơn để truy cập bộ sưu tập

Nếu bạn chuyển các giá trị dưới dạng tham số, nó sẽ thực sự tạo thành từ điển cho bạn. Bạn thậm chí có thể tạo danh sách từ bộ đếm một cách thông minh

Chủ Đề