Bonsoir à toutes et à tous,
Je suis en classe préparatoire et mon prof d'algorithmie nous à demandé de réaliser un travail consistant à décoder un fichier en L System pour le transformer en "dessin" avec le package "turtle".
Voila à quoi ressemble un fichier codé en L system pour nous :
Et voici la traduction des lettres :
Ma situation est que j'ai la liste "regle1v2l" qui contient caractère par caractère les éléments de la première règle. Or je veut remplacer le a par la règle n fois avec n : le niveau (c'est un peu compliqué ^^)
Ce que je n'arrive pas a faire c'est de remplacer dans un liste un caractère qui apparaît plusieurs fois dans ma liste.
Ex: Je veux que [a,+,-,a,+,a] au niveau 1 deviennent [a,+,-,a,+,a, +,-, a,+,-,a,+,a, +, a,+,-,a,+,a] (les espaces sont juste la pour l'exemple)
Voici mon bout de programme :
Sauf que je pense que celui-ci ne marche pas car cela ne balayera pas toute la liste pour remplacer tous les "a" et "b"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 regle2v2lbis = regle2v2l #Création d'une même liste ne variant pas for i in range(niveau2): for i in range(len(regle1v2l)): if regle1v2l[i]=="a": del regle1v2l[i] #Supprime le "a" et le remplace par la règle for i in range(len(regle1v2lbis): regle1v2l.insert(i,regle1v2lbis[i]) elif regle1v2l[i]=="b": del regle1v2l[i] #Pareil pour b for i in range(len(regle2v2lbis): regle1v2l.insert(i,regle2v2lbis[i])
Merci d'avance pour vos propositions
Partager