diff --git a/Tp1/anagrammes.py b/Tp1/anagrammes.py new file mode 100644 index 0000000000000000000000000000000000000000..c3afffa1e86ecf02970de414b0634db7dee2b2d7 --- /dev/null +++ b/Tp1/anagrammes.py @@ -0,0 +1,147 @@ +#Methodesplit + +#Question 1 + +# s='la méthode split est parfois bien utile' +# >>>s.split(' ') +# ['la','methode','split','est','parfois','bien','utile'] +# >>>s.split('e') +# ['la method','split','st parfois bi','n util'] +# >>>s.split('é') +# ['la m','thode split','est','parfois','bien','utile'] +# >>>s.split() +# ['la' ,'méthode' ,'split' ,'est' ,'parfois' ,'bien' ,'utile'] +# +#Question 2: +# la methode split est utiliseé pour diviser une chaine en une liste de sous-chaine, en utulisant un séparateur spécifié. +# Cette methode elle utilise l'espace comme le séparateur. +#Question 3: +# Non la methode elle modifie pas la chaine à la quelle s'applique , elle renvoie une nouvelleliste de sous chaine résultant de la +#dévision de la chaine original, c'est à dire que la chaine original elle reste inchangée. + +#Methode join +#s="la méthode split est parfois bien utile" +#>>>"".join(l) +#("la methode split est bein util") +#>>>"".join(l) +#(lamethodesplitestbienutile) +#>>>";".join(l) +#("la;methode;split;est;bein;utile") +#>>>" tralala ".join(l) +#("la méthode split est parfois bien utile") +#>>>print ("\n".join(l)) +#"la méthode split est parfois bien utile" +#>>>"".join(s) +#"la méthode split est parfois bien utile" +#>>>"!".join(s) +#"la méthode split est parfois bien utile" +#>>>"".join() +#"la méthode split est parfois bien utile" +#>>>"".join([]) +#[] +#>>>"".join([1,2]) +#"la méthode split est parfois bien utile" + +#Question 2: +# La methode join est utiliseé pour joindre les éléments d'une liste en une suele chaine de caractères +#Elle prend une chaine de caractère en argument et insère cette chaine entre chaque elément de la liste + +#Question 3: +# La methode join elle modifie pas la chaine à laquelle elle est appliqueé. Elle renvoie plutot une nouvelle +#chaine qui est le résultat de la jonction des éléments de la liste avec la chaine specifie.Donc la chaine +#origine rete inchangée. + +#Question 4: +# +# def join (s:str,l:list[str])->str: +# """renvoie une nouvelle chaine de caractéres en concaténant les élement de +# l en les intercalant avec s. +# +# Précondition : +# Exemple(s) : +# $$$ join('.', ['raymond', 'calbuth', 'ronchin', 'fr']) +# 'raymond.calbuth.ronchin.fr' +# +# +# """ +# result= "" +# for i in range(len(l)): +# result=l[i]+result +# if i !=len(l)-1: +# result=s+result +# return result + + +#Methode sort + +#Question1: +#l=list('timoleon') +#['e','i','l','m','n','o','o','t'] +#l=lists +#s="Je n'ai jamais joué de flûte." +#['',"'",'','','','','','','','','','','','','','','','','','','','','','',''','','',''] +#Question 2: +#si on applique cette methode sur la liste l=['a', 1] , la methode sort générera une erreur +#car les types de données doivent etre cohérents pour pouvoir etre triés. + +# Une fonction sort pour les chaines: +# def sort(s:str)->str: +# """"Renvoie une chaîne de caractères contenant les caractères de `s` triés dans l'ordre croissant +# +# Précondition : aucune +# Exemple(s) : +# $$$ sort('timoleon') +# 'eilmnoot' +# +# +# """ +# +# chaine='temoleon' +# resultat=sort(chaine) + + +#Anagrammes: +#Question 1: +def sont_anagrammes(s1: str, s2: str) -> bool: + """ Renvoie True si s1 et s2 sont anagrammatiques, False sinon. + + Précondition : aucune + Exemple(s) : + $$$ sont_anagrammes('orange', 'organe') + True + $$$ sont_anagrammes('orange','Organe') + False + """ + + l1,l2=list(s1),list(s2) + l1.sort() + l2.sort() + return l1==l2 + +#Question 2: +def sont_anagrammes(s1: str, s2: str) -> bool: + """Renvoie True si s1 et s2 sont anagrammatiques, False sinon + + Précondition : aucune + Exemple(s) : + $$$ sont_anagrammes('orange', 'organe') + True + $$$ sont_anagrammes('orange','Organe') + False + + """ + + + res=dict() + d=dict() + for elt in s1: + if elt in res: + + + + + + + + +