Ошибка в блоке else но с синтаксисом все впорядке

Вот участок кода где ошибка:

def __init__ (self, inputLayer, outputLayer, hiddenLayer = ()):
        """ Иницалезирует класс """
        self.inputLayer = inputLayer
        self.outputLayer = outputLayer
        self.hiddenLayer = hiddenLayer
        self.weights = []
        self.basises = []

        if hiddenLayer:
            self.weights.append([])
            for x in range(hiddenLayer[0]):
                self.weights[0].append(inputLayer)

            for i in range(len(hiddenLayer) - 1):
                self.weights.append([])
                for j in range(hiddenLayer[i + 1]):
                    self.weights[i + 1].append(np.random.randint(-10, 10, hiddenLayer[i]))

            self.weights.append([])

            for z in range(len(hiddenLayer) - 1):
                self.weights(len(hiddenLayer)).append(np.random.randint(-10, 10, outputLayer)

        else:

            self.weights.append([])
            for i in range(outputLayer):
                self.weights[0].append(np.random.randint(-10, 10, inputLayer))

А вот сама ошибка:

File "c:/Users/artem/OneDrive/Документы/CODE/python/neuralnet.py", line 45
    else:
       ^
SyntaxError: invalid syntax

Ответы (2 шт):

Автор решения: Shamus Rezol

(c) S.Nick. Присмотритесь к выражению до else. Там не хватает закрывающей скобочки и, конечно же, интерпретатор python'а думает, что аргументы функции продолжаются и не может определить точное место ошибки. SyntaxError и это правильное исключение. К чему так спешить и создавать новый вопрос?

self.weights(len(hiddenLayer)).append(      np.random.randint(-10, 10, outputLayer)      )
→ Ссылка
Автор решения: ArtemGolovko

Ура я нашел ответ

def get_weights (self, inputLayer, outputLayer, hiddenLayer):

        weights = []

        layes = [inputLayer] + list(hiddenLayer) + [outputLayer]

        for index in range(len(layes) - 1):
            weights.append([])
            for _ in range(layes[index + 1]):
                weights[index].append(np.random.randint(-10, 10, layes[index]))

        return weights
→ Ссылка