| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Рекурсия в Python, не работает

Рекурсия в Python, не работает

Ответ
Поиск в этой теме
Непрочитано 26.06.2016, 21:57 #1
Рекурсия в Python, не работает
DEM
 
YngIngKllr
 
СПб
Регистрация: 29.03.2005
Сообщений: 12,968

Сосбно с простыми рекурсиями, вроде все понятно...
Но вот сложность возникла с рекурсией из 3-х аргументов....
Код:
[Выделить все]
tt=[1,3,4,7,5,6]
def lr(p0, p1, p2):
    if p0[0] == p1:
        return p2
    if len(p0) == 0:
        return p2
    else:
        print p2
        print p0
        p0.pop(0)
        p2=p2+1
        lr(p0, p1, p2)
print lr(tt,4,0)
По хорошему она должна возвращать 3
Но чегой то не выходит каменный цветог.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
Просмотров: 3505
 
Непрочитано 26.06.2016, 22:43
#2
Akim_1989

Расчетчик
 
Регистрация: 30.09.2011
Ростов-на-Дону
Сообщений: 1,051


Код:
[Выделить все]
tt=[1,3,4,7,5,6]
def lr(p0, p1, p2):
    if p0[0] == p1:
        return p2
    if len(p0) == 0:
        return p2
    else:
        print p2
        print p0
        p0.pop(0)
        p2=p2+1
        return lr(p0, p1, p2)
print lr(tt,4,0)
Функция должна что-то возвращать. Поэтому я добавил return lr(p0, p1, p2). Иначе у неё всегда итог получается None. Но у меня 2 получается в итоге. ХЗ по чему должно 3 быть.

А вообще мне сложно мыслить рекурсивно. Мне проще итеративно

Последний раз редактировалось Akim_1989, 26.06.2016 в 22:49.
Akim_1989 вне форума  
 
Автор темы   Непрочитано 26.06.2016, 22:51
#3
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Отлично!
Спасибо большое....
Завтра тогда закончу, надеюсь, программу по созданию геометрической модели.

----- добавлено через ~2 мин. -----
Но с рекурсией прикольно....
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 26.06.2016, 23:00
#4
Sam

инженер-конструктор
 
Регистрация: 18.11.2009
Сообщений: 242


Offtop: Скажите, а где вы используете Python, что в нем делаете? Если не секрет конечно.
Sam вне форума  
 
Непрочитано 26.06.2016, 23:42
#5
Kinzer


 
Регистрация: 28.10.2007
Сообщений: 528


DEM, Offtop: ИМХО, тут нет смысла в рекурсии. Что циклом while, что рекурсией в данном случае сложность алгоритма О(n)
Kinzer вне форума  
 
Автор темы   Непрочитано 27.06.2016, 06:12
1 | #6
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от Kinzer Посмотреть сообщение
DEM, Offtop: ИМХО, тут нет смысла в рекурсии. Что циклом while, что рекурсией в данном случае сложность алгоритма О(n)
Так разобраться хотелось с рекурсией с 3 аргументами.

----- добавлено через ~1 мин. -----
Sam
Преобразовываю сетку конечных элементов в геометрическую модель.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 27.06.2016, 06:53
#7
BYT


 
Регистрация: 04.10.2011
Сообщений: 3,070


DEM
Извини за вмешательство в тему оффтопом.

А вот этот Python не присутствует в Компасе? Вроде там какойто был язык программирования "питон"?!
BYT вне форума  
 
Автор темы   Непрочитано 27.06.2016, 09:17
#8
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Цитата:
Сообщение от BYT Посмотреть сообщение
А вот этот Python не присутствует в Компасе? Вроде там какой то был язык программирования "питон"?!
Фиг его знает....
Если честно у меня стойкое отвращение к Компасу....
ЗЫ. К тому модулю который они для строительства позиционируют..
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Непрочитано 27.06.2016, 13:15
#9
hexD

КМД
 
Регистрация: 26.03.2013
Я ЖЫВУ В РОССИИ.
Сообщений: 506
<phrase 1=


гугли
http://pythonworld.ru/moduli/modul-copy.html
hexD вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Рекурсия в Python, не работает

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает относительный ввод координат первой точки zaabifff AutoCAD 32 13.01.2017 14:42
Не работает выбор узлов и элементов в scad-е, как исправить? IvanLeo SCAD 3 18.10.2014 14:02
UNDO не работает Клетчатый AutoCAD 2 17.02.2014 10:37
Подскажите, на что работает шпилька? sanek88 Конструкции зданий и сооружений 18 25.09.2013 14:39
PyAcad.Net - Iron Python для программирования в Автокаде Красин .NET 6 25.06.2010 17:33