Bonsoir tous le monde !
J'ai un souci, votre aide est la bienvenue. Le probl�me est la suivant: Je voulais �crire un programme python qui test si une liste de mot pris dans un alphabet est un code. Pour q'une liste de mot soit un code il faut remplir deux condition :
1) if faut que les �l�ment de chaque mot de la liste appartiennent � l'alphabet;
2) aucun mot ne doit �tre le pr�fixe d'un autres dans la liste.
J'ai r�ussi a faire le petit 1)
voici le code source qui n'est pas tr�s optimale mais pour d�butant �a passe :
Voici quelques tests :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #pour stocker l'alphabet alphabet = "" alphabet1 = input("entrer l'alphabet :") alphabet = alphabet1 #le code est composé d'un ensemble de mot separer par un space code = input("entrer une serie de mot separer par un space : ") #on transforme l'ensemble de code en une liste nouveau_code = code.split() print(nouveau_code) drapeau = 1 #on declare un boolean pour test for i in nouveau_code: #on parcours toute la liste nouveau_code for j in i: #on parcours chaque element du mot de la liste if j not in alphabet: #on verifie est-ce que l'element n'appartient pas à l'alphabet drapeau = 0 #si oui on met drapeau à 0 if drapeau == 1: #si oui alors c'est un code print("Le mot {} est un code".format(nouveau_code)) else: #sinon ce n'est pas un code print("Le mot {} n'est un alphabet desolé !!! ".format(nouveau_code))
$ python3 alphabets.py
entrer l'alphabet :01
entrer une serie de mot separer par un space : 01011 100110 0110111
['01011', '100110', '0110111']
Le mot ['01011', '100110', '0110111'] est un code
deuxi�me teste
$ python3 alphabets.py
entrer l'alphabet :01
entrer une serie de mot separer par un space : 102 666 888
['102', '666', '888']
Le mot ['102', '666', '888'] n'est un alphabet d�sol� !!!
Mais la question petit 2) m'a vraiment tap�.
Merci d'avance pour votre aide !!!