Найти - Пользователи
Полная версия: Объясните, пожалуйста, почему выбрасывается исключение при вызове len(matr[0]) внутри функции (matr - список списков)
Начало » Центр помощи » Объясните, пожалуйста, почему выбрасывается исключение при вызове len(matr[0]) внутри функции (matr - список списков)
1
sasha_clear
Дисклеймер: вопрос НЕ по решению задачи, а по конкретному вызову 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')
py.user.next
sasha_clear
в строке #3 выбрасывается исключение ‘int’ object is not callable
sasha_clear
  
    len = 0
    m = len(matr[0])
Не присваивай имени len числа. Возьми имя length.
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