Bonjour,
Je dois coder un L-système afin de dessiner un triangle de Sierpisky. J'ai pour cela écris une première fonction apply_rule(S) avec les règles de transformation (A devient B-A-B etc...). Je dois maintenant écrire une fonction apply_rec(S,n) qui applique plusieurs fois apply_rule(S) au résultat précédent en partant de S sans utiliser de boucle, uniquement par récursivité. Voici mon code :
apply_rec("A", 1) doit par exemple donner "B-A-B".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 def apply_rules(S): S = ("A", "B") newS = "" for i in S: if i == "A": newS += "B-A-B" if i == "B": newS += "A+B+A" else: newS += "" return newS def apply_rec(S,n): newS = "" if n == 0: return S else: newS = newS + apply_rules(S) return newS
Ma fonction def apply_rec(S,n) ne marche pas, je vous demande donc un conseil sur comment faire pour appliquer n fois ma fonction au résultat précédent ?
Merci de votre aide.
Partager