Merge et récupération

This commit is contained in:
jeanloup 2015-01-27 11:35:54 +01:00
commit 409b5430a2

View file

@ -21,6 +21,8 @@ def question(numero):
partie('Quelques méthodes sur les listes et les chaînes') # Geoffrey partie('Quelques méthodes sur les listes et les chaînes') # Geoffrey
# TODO fonction → méthode
section('Méthode split') section('Méthode split')
question(1) question(1)
@ -133,23 +135,56 @@ def join(chaine, sequence):
print(">>> join('.', ['raymond', 'calbuth', 'ronchin', 'fr'])") print(">>> join('.', ['raymond', 'calbuth', 'ronchin', 'fr'])")
print(join('.', ['raymond', 'calbuth', 'ronchin', 'fr'])) print(join('.', ['raymond', 'calbuth', 'ronchin', 'fr']))
section('Méthode sort')http://www.fil.univ-lille1.fr/~L1S2API/CoursTP/tp2_dictionnaires.html section('Méthode sort')
question(1) question(1)
# TODO utf-8
# TODO en print
##>>> l = list ('timoleon')
##>>> l.sort()
##>>> l
##['e', 'i', 'l', 'm', 'n', 'o', 'o', 't']
print('La méthode sort semble trier les lettres par ordre alphabétique')
##>>> s = "Je n'ai jamais joué de flûte."
##>>> l = list (s)
##>>> l.sort()
##>>> l
##[' ', ' ', ' ', ' ', ' ', "'", '.', 'J', 'a', 'a', 'a', 'd', 'e', 'e', 'e', 'f', 'i', 'i', 'j', 'j', 'l', 'm', 'n', 'o', 's', 't', 'u', '\xa9', '\xbb', '\xc3', '\xc3']
print('La méthode sort trie aussi les caractères spéciaux : ponctuation au début, accents à la fin')
print('Il semblerait que la fonction sort trie les caractères de s selon l\'ordre croissant de leur numéro de code ASCII (ou tout encodage utilisé)')
question(2) question(2)
# TODO en print
##>>> l = ['a', 1]
##>>> l.sort()
##>>> l
##[1, 'a']
print('On remarque que 1 se place avant \'a\'. Si nous étions correct dans la question précédente, les éléments de liste sont triés selon leur valeur, ou leur numéro de code pour les caractères. \'a\' ayant pour numéro de code 97 (`ord(\'a\') == 97`), et 1 < 97, il est normal qu\'il se retrouve après le 1.')
section('Une fonction sort pour les chaînes') section('Une fonction sort pour les chaînes')
question(1) question(1)
partie('Anagrammes') # Jean-loup partie('Anagrammes') # Jean-loup
question(1) question(1)
def sont_anagrammes1(chaine1, chaine2): def sont_anagrammes3(chaine1, chaine2):
""" Prédicat, renvoie True si chaine1 et chaine2 sont des anagrammes, False sinon
str, str -> bool
CU: chaine1 et chaine2 sont des str
"""def sont_anagrammes1(chaine1, chaine2):
""" Prédicat, renvoie True si chaine1 et chaine2 sont des anagrammes, False sinon """ Prédicat, renvoie True si chaine1 et chaine2 sont des anagrammes, False sinon
str, str -> bool str, str -> bool
CU: chaine1 et chaine2 sont des str CU: chaine1 et chaine2 sont des str
@ -169,7 +204,7 @@ def sont_anagrammes1(chaine1, chaine2):
return l1 == l2 return l1 == l2
question(2) question(2)
def sont_anagrammes2(chaine1, chaine2): def sont_anagrammes2(chaine1, chaine2):
""" Prédicat, renvoie True si chaine1 et chaine2 sont des anagrammes, False sinon """ Prédicat, renvoie True si chaine1 et chaine2 sont des anagrammes, False sinon
str, str -> bool str, str -> bool
@ -187,8 +222,8 @@ def sont_anagrammes2(chaine1, chaine2):
return occu1 == occu2 return occu1 == occu2
question(3) question(3)
def sont_anagrammes3(chaine1, chaine2): def sont_anagrammes2(chaine1, chaine2):
""" Prédicat, renvoie True si chaine1 et chaine2 sont des anagrammes, False sinon """ Prédicat, renvoie True si chaine1 et chaine2 sont des anagrammes, False sinon
str, str -> bool str, str -> bool
CU: chaine1 et chaine2 sont des str CU: chaine1 et chaine2 sont des str
@ -199,7 +234,7 @@ def sont_anagrammes3(chaine1, chaine2):
if len(chaine1) != len(chaine2): # Si la longueur est différente ca ne peut pas être des anagrammes if len(chaine1) != len(chaine2): # Si la longueur est différente ca ne peut pas être des anagrammes
return False return False
for i in chaine1: for i in chaine1:
if chaine1.count(i) != chaine2.count(i): if chaine1.count(i) != chaine2.count(i):
return False return False