Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Центр помощи
  • » Объясните, пожалуйста, почему выбрасывается исключение при вызове len(matr[0]) внутри функции (matr - список списков) [RSS Feed]

#1 Апрель 15, 2022 15:22:29

sasha_clear
Зарегистрирован: 2022-04-15
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Объясните, пожалуйста, почему выбрасывается исключение при вызове len(matr[0]) внутри функции (matr - список списков)

Дисклеймер: вопрос НЕ по решению задачи, а по конкретному вызову len(), но если очень интересно, то это решения для вот этой задачи https://codeforces.com/contest/1579/problem/C

Всем привет. Пока только начал осваивать Python и еще не все механизмы языка мне понятны. Столкнулся с такой проблемой:

есть функция:

 def shape_len(matr, x, y):
    len = 0
    m = len(matr[0])
    x, ay, by = x - 1, y - 1, y + 1
    while x >= 0 and ay >= 0 and by < m and matr[x][ay] == '*' and matr[x][by] == '*':
        len += 1
        x -= 1
        ay -= 1
        by += 1
    return len
в строке #3 выбрасывается исключение ‘int’ object is not callable

основная функция (для понимания, что есть matr в моем случае, в функцию передается lst):
 def solve():
    n, m, k = [int(x) for x in input().split()]
    lst = []
    for _ in range(n):
        lst.append([e for e in input()])
    result = [['.' for _ in range(m)] for _ in range(n)]
    
    for i in range(k, n):
        for j in range(k, m):
            if lst[i][j] == '*':
                sz = shape_len(lst, i, j)
                if sz >= k:
                    result = print_shape(result, i, j, sz)
                    
    if lst != result:
        print('NO')
    else:
        print('YES')

Отредактировано sasha_clear (Апрель 15, 2022 15:25:35)

Офлайн

#2 Апрель 15, 2022 17:13:30

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10005
Репутация: +  857  -
Профиль   Отправить e-mail  

Объясните, пожалуйста, почему выбрасывается исключение при вызове len(matr[0]) внутри функции (matr - список списков)

sasha_clear
в строке #3 выбрасывается исключение ‘int’ object is not callable
sasha_clear
  
    len = 0
    m = len(matr[0])
Не присваивай имени len числа. Возьми имя length.



Офлайн

  • Начало
  • » Центр помощи
  • » Объясните, пожалуйста, почему выбрасывается исключение при вызове len(matr[0]) внутри функции (matr - список списков)[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version