Я хотел создать простое бинарное дерево, а затем это изображение:списки Python добавить возвращаемое значение
в основном пусты, но последние значения, так что я создал список корень:
root = [list(),list()]
и сделал рекурсивную функцию, чтобы заселить все:
def TF(nodeT,nodeF , i):
if i == 35 : return 'done'
TF(nodeT.append([]),nodeT.append([]) , i = i + 1) #append T , F in the true node
TF(nodeF.append([]),nodeT.append([]) , i = i + 1) #append T , F in the false node
моя проблема проста list.append (что-то) в python возвращает «None», как только функция снова вызвана (TF (None, None, 1)) None.append не существует.
Как это решить? заранее спасибо.
также, если у вас есть какие-либо предложения о том, как сделать это более эффективным или по-другому (не должен проверить свой код, так что я не уверен, как он будет делать)
(моя конечная цель должна иметь Истинная Ложная карта и аргумент так: «FTFTFFFTFTF» появится буква «М» ... и т.д)
Вы бы подробнее остановиться на использовании этого? –
Пожалуйста, не транслитерируйте код с других языков на Python. Попробуйте подумать о том, как работает Python; подумайте о том, как работает алгоритм. Затем - после понимания - напишите Python. Просто замените токены на языке C языками с помощью токенов Python, которые редко дают вам рабочий Python. –
Это одна из вещей, которые я ненавижу по поводу python, и IMO, совершенно бесстрашный. Любой метод, который мутирует 'self', должен возвращать' self'. Любая функция, которая мутирует что-либо, должна вернуть эту вещь. – DylanYoung