Уведомления

Группа в Telegram: @pythonsu

#1 Май 12, 2015 11:13:40

Silentium
От:
Зарегистрирован: 2011-05-10
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка последовательности равных целых чисел в квадратной матрице

Просьба, поругать мой быдлокод. И посоветовать как и что перенять, чтобы не писать подобное). NumPy похоже действительно нет в checkio



Офлайн

#2 Май 12, 2015 11:31:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

проверка последовательности равных целых чисел в квадратной матрице

Silentium
Просьба, поругать мой быдлокод.
И где он?



Офлайн

#3 Май 12, 2015 14:07:15

Silentium
От:
Зарегистрирован: 2011-05-10
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка последовательности равных целых чисел в квадратной матрице

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 



Офлайн

#4 Май 12, 2015 15:18:26

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

проверка последовательности равных целых чисел в квадратной матрице

А тебя самого не затрахивает писать три абсолютно одинаковых куска кода?



Офлайн

#5 Май 12, 2015 15:58:14

Silentium
От:
Зарегистрирован: 2011-05-10
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка последовательности равных целых чисел в квадратной матрице

FishHook
А тебя самого не затрахивает писать три абсолютно одинаковых куска кода?
Ну дык! Если бы я чувствовал мир и гармонию то не отнимал бы Ваше драгоценное время!



Офлайн

#6 Май 12, 2015 16:05:07

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

проверка последовательности равных целых чисел в квадратной матрице

Silentium
Ну дык! Если бы я чувствовал мир и гармонию то не отнимал бы Ваше драгоценное время!
Очевидно, код нужно переписать так, чтобы не было глупой копипасты.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version