Я хочу создать функцию, которая будет создавать кривую Гильберта в питоне, используя числа. Параметрами для функции будут числа, которые будут указывать функции, сколько раз она должна повторяться. Чтобы создать кривую Гильберта, вы начинаете с «L», затем оно превращается в «+ RF-LFL-FR +», а затем «R» превращается в «-LF + RFR + FL-». Как мне это сделать?
#Here is what I've made so far
def hilbert(num):
s = 'L'
for i in range(num-1):
s = s.replace('L','+RF-LFL-FR+')
b = 'R'
for i in range(num-1):
b = b.replace('R','-LR+RFR+FL-')
end = s + b
return end
Он полностью вылетает, когда вы вводите 1, я пытался использовать код, созданный для снежинки Коха, но я не был уверен, как использовать две переменные.
#Here is the results for when I use the function
hilbert(1)
#It returns
a crash bruh
hilbert()
#It returns
'+RF-+RF-LFL-FR+F+RF-LFL-FR+-FR+-L-LR+RFR+FL-+-LR+RFR+FL-F-LR+RFR+FL-+FL-'
#Here is what I want it to return
hilbert(1)
'L'
hilbert(3)
'+-LF+RFR+FL-F-+RF-LFL-FR+F+RF-LFL-FR+-F-LF+RFR+FL-+'
I 'Я не так хорош в петле диапазона, как мне это сделать?