diff --git a/tp1.py b/tp1.py new file mode 100644 index 0000000000000000000000000000000000000000..9a0cb1eedbd3a0ec7a84d825044b8f1128143cf7 --- /dev/null +++ b/tp1.py @@ -0,0 +1,99 @@ +#nom:gantchou koffi +#mi13 +# anagrammes +# 16/01 +#METHODE SPLIT + + +#2 la methode split supprime l'element pris en parametre dans la chaine +# >>> s= "la méthode split est parfois bien utile" +# >>> s.split(' ') +# ['la', 'méthode', 'split', 'est', 'parfois', 'bien', 'utile'] +# >>> s.split('e') +# ['la méthod', ' 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'] +# >>> s.split('') +# Traceback (most recent call last): +# File "<stdin>", line 1, in <module> +# ValueError: empty separator +# >>> s.split('split') +# ['la méthode ', ' est parfois bien utile'] + +#3 la methode split ne modifie pas la chaine a laquelle elle s'applique + +#METHODE JOIN +# la methode join ne modifiie pas la chaine a laquelle elle s'applique + + +#la methode sort ne s'applique que sur des listes +# de meme que join + +def join(carac:str,l:list[str])->str: + """ à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ join('.', ['raymond', 'calbuth', 'ronchin', 'fr']) + 'raymond.calbuth.ronchin.fr' + + """ + res='' + for i in range(len(l)-1): + res+=l[i]+carac + res=res+l[len(l)-1] + + return res + +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 + + Exemples: + + $$$ sort('timoleon') + 'eilmnoot' + """ + l=list(s) + l.sort() + v="".join(l) + return v + +def sont_anagrammes(s1: str, s2: str) -> bool: + """ + Renvoie True si s1 et s2 sont anagrammatiques, False sinon. + + Précondition: aucune + + Exemples: + + $$$ sont_anagrammes('orange', 'organe') + True + $$$ sont_anagrammes('orange','Organe') + False + """ + anag1=sort(s1) + anag2=sort(s2) + return anag1==anag2 + +def sont_anagrammes2(s1:str,s2:str)->bool: + """ à_remplacer_par_ce_que_fait_la_fonction + + Précondition : + Exemple(s) : + $$$ sont_anagrammes2('orange', 'organe') + True + $$$ sont_anagrammes2('orange','Organe') + False + + """ + + + + + +