Найти - Пользователи
Полная версия: Задачи по матрице
Начало » Python для новичков » Задачи по матрице
1
Bolula
Выполнить обработку элементов прямоугольной матрицы A, имеющей N строк и M столбцов. Определить, сколько нулевых элементов содержится в верхних L строках матрицы

Я че-то намутила О__о помогите, пожалуйста

matrix = [[1,2,-3,4,-5],[2,3,4,5,-6],[3,-4,0,-6,-7]]
 
i=0
j=0
ks = 0
end = len(matrix)
while(j!=end):
    
    if(i==end):
        j=j+1
        i=0
    
    if(j==end):
        break
    
    if(matrix[i][j]==0):
        i=0
        j=j+1
        ks=ks+1
        continue
    i=i+1
print ('Количество столбцов, содержащих число 0 =',ks)
prius
Что-то странное ты намутила Советую забыть о счетчиках переменных, это не C
И ещё, почитай PEP8
Вот рабочий, и, в некотором смысле, более правильный вариант:
matrix = [[0,2,0,0,-5],[2,3,0,5,-6],[3,-4,0,-6,-7]]
L = 2    #Number of matrix rows to process
count = 0
for row_number, row in enumerate(matrix):
    if row_number >= L:
        break
    print row_number
    for element in row:
        if element == 0:
            count += 1
print("Number of '0' elements in first "+str(L)+" rows: "+str(count))
FishHook
Bolula
Выполнить обработку элементов прямоугольной матрицы A, имеющей N строк и M столбцов. Определить, сколько нулевых элементов содержится в верхних L строках матрицы

Я че-то намутила О__о помогите, пожалуйста =)

matrix = [[1,2,-3,4,-5],[2,3,4,5,-6],[3,-4,0,-6,-7]]
 
i=0
j=0
ks = 0
end = len(matrix)
while(j!=end):
    
    if(i==end):
        j=j+1
        i=0
    
    if(j==end):
        break
    
    if(matrix[i][j]==0):
        i=0
        j=j+1
        ks=ks+1
        continue
    i=i+1
print ('Количество столбцов, содержащих число 0 =',ks)

Может так?
matrix = [[1, 2,-3 ,4, -5],
                [2, 3, 4, 0, -6],
                [3,-4, 0,-6, -7],
                [3, 0, 0,-6, -7]
                 ]
L=3
temp=[]
for row in matrix[:L]:
   [temp.append(x) for x in row]
print temp.count(0)
Chern
на минимализм потянуло, простите

matrix = [[0, 2, 0, 0, -5], [2, 3, 0, 5, -6], [3, -4, 0, -6, -7]]
L = 2
print reduce(lambda x, y: x + y.count(0), matrix[:L], 0)
Isem
Тоже тянет.
matrix = [[0, 2, 0, 0, -5], [2, 3, 0, 5, -6], [3, -4, 0, -6, -7]]
L = 2
print( sum(matrix[:L],[]).count(0) ) 
FishHook
import re
matrix = [[0, 2, 0, 0, -5], [2, 3, 0, 5, -6], [3, -4, 0, -6, -7]]
L = 2
print  len(re.findall(r"0", str(matrix[:L])))
Правда только от 0 до 9 работает :D
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB