Меня попросили реализовать рекурсивную функцию, которая принимает неотрицательное целое число n в качестве входных данных и возвращает инструкцию черепахи с буквами L, R и F, где L означает поворот влево на 45 градусов, R означает поверните направо 45, а F - вперед.Попытка понять кривую Леви (фрактал)
Дополнительная информация i i: для каждого неотрицательного целого n> 0 кривая Леви L(n)
может быть определена в терминах кривой Леви L(n-1)
; Левая кривая L(0)
- это просто прямая линия.
usage:
>>> lev(0)
'F'
>>> lev(1)
'LFRRFL'
Я новичок в этом, и я не знаю, как начать:
до сих пор я только получил:
from turtle import Screen, Turtle
def lev(n):
# base case
if n ==0:
return 'F'
# recursive case
else:
return lev(n-1)
мне нужны хорошие указатели здесь, пожалуйста.
когда 'n' не '0' вы, вероятно, хотите сделать что-то, кроме просто позвонить' н-1'. возможно, что-то вроде 'return 'L% sRR% sL'% (lev (n-1), lev (n-1))' – cmd
им жаль, что это значит? 'L% sRR% sL' - как то, что есть 'и почему вы mod' L 'с' s ' – Snarre
В дополнение к модулю '%' также может использоваться для форматирования содержимого строки: см. [Старый форматирование строки] (http://docs.python.org/2/tutorial/inputoutput.html#old-string-formatting). Но [str.format] (http://docs.python.org/3/library/stdtypes.html?highlight=format#str.format) - это то, что используют все _cool_ разработчики, в эти дни :-) – Kevin