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 : Nom : Capture.PNG
Affichages : 243
Taille : 15,5 Ko
Et voici la traduction des lettres : Nom : Capture.PNG
Affichages : 380
Taille : 36,8 Ko
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 :
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])
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"
Merci d'avance pour vos propositions