Найти - Пользователи
Полная версия: проверка последовательности равных целых чисел в квадратной матрице
Начало » Python для новичков » проверка последовательности равных целых чисел в квадратной матрице
1 2
Silentium
Просьба, поругать мой быдлокод. И посоветовать как и что перенять, чтобы не писать подобное). NumPy похоже действительно нет в checkio
FishHook
Silentium
Просьба, поругать мой быдлокод.
И где он?
Silentium
FishHook
вот же выше приволил,
только нет проверки по диагоналям.
def matrix(a):
    x = 0
    n=len(a)
    m=len(a[x])
    fl=0
    # compare rows
    for x in range(n-1):
        for a1,a2 in [(a[x][i],a[x][i+1]) for i in range(m-1)]:
            if a1==a2:
                fl+=1
            if fl==3:
                return True
        fl=0 
     # compare cols   
    for x in range(n-1):
        for a1,a2 in [(a[i][x],a[i+1][x]) for i in range(m-1)]:
            if a1==a2:
                fl+=1
            if fl==3:
                return True
        fl=0 
    #compare general diag
    for x in range(n-1):
        for a1,a2 in [(a[i][i],a[i+1][i+1]) for i in range(m-1)]:
            if a1==a2:
                fl+=1
            if fl==3:
                return True
        break
        fl=0 
return False
if __name__ == '__main__':
    assert matrix([[7, 1, 1, 8, 1, 1],
    [1, 1, 7, 3, 1, 5],
    [2, 3, 1, 2, 5, 1],
    [1, 1, 1, 5, 1, 4],
    [4, 6, 5, 1, 3, 1],
    [1, 1, 9, 1, 2, 1]
    ])==True 
FishHook
А тебя самого не затрахивает писать три абсолютно одинаковых куска кода?
Silentium
FishHook
А тебя самого не затрахивает писать три абсолютно одинаковых куска кода?
Ну дык! Если бы я чувствовал мир и гармонию то не отнимал бы Ваше драгоценное время!
FishHook
Silentium
Ну дык! Если бы я чувствовал мир и гармонию то не отнимал бы Ваше драгоценное время!
Очевидно, код нужно переписать так, чтобы не было глупой копипасты.
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