TP2 PEP8 réel

This commit is contained in:
Geoffrey Frogeye 2015-02-09 19:51:25 +01:00
parent 9f0f11f28f
commit b4d9109c24

View file

@ -41,8 +41,8 @@ print(">>> s.split ('split')")
print(s.split('split')) print(s.split('split'))
question(2) question(2)
print( print('La méthode `split` renvoie la liste des chaînes de la découpe de la chaîne sur laquelle est \
'La méthode `split` renvoie la liste des chaînes de la découpe de la chaîne sur laquelle est appliquée la fonction par la chaîne passée en argument (ou à défaut le caractères d\'espacement') appliquée la fonction par la chaîne passée en argument (ou à défaut le caractères d\'espacement')
question(3) question(3)
print(">>> s = 'la méthode split est parfois bien utile'") print(">>> s = 'la méthode split est parfois bien utile'")
@ -52,8 +52,9 @@ print(s.split(' '))
print('>>> s') print('>>> s')
print('\'' + s + '\'') print('\'' + s + '\'')
print( print('De par cet exemple, on remarque que s reste la même chaîne de caractère, `split` ne modifie \
'De par cet exemple, on remarque que s reste la même chaîne de caractère, `split` ne modifie donc pas la chaîne de caractères à laquelle elle s\'applique (ce qui est logique vu le caractère non-mutable des chaînes de caractères') donc pas la chaîne de caractères à laquelle elle s\'applique (ce qui est logique vu le caractère \
non-mutable des chaînes de caractères')
section('Méthode join') section('Méthode join')
@ -85,8 +86,8 @@ print('>>> "".join ([1,2])')
print('TypeError: sequence item 0: expected str instance, int found') print('TypeError: sequence item 0: expected str instance, int found')
question(2) question(2)
print( print('La méthode join concatène les chaînes de caractères contenues dans la liste passée en \
'La méthode join concatène les chaînes de caractères contenues dans la liste passée en paramètre, en insérant entre deux la chaîne de caractère sur laquelle elle est appliquée.') paramètre, en insérant entre deux la chaîne de caractère sur laquelle elle est appliquée.')
question(3) question(3)
print('>>> chaine = \'!\'') print('>>> chaine = \'!\'')
@ -97,13 +98,16 @@ print('>>> chaine')
print('\'' + chaine + '\'') print('\'' + chaine + '\'')
print( print('De par cet exemple, on remarque que chaine reste la même chaîne de caractères, `join` ne \
'De par cet exemple, on remarque que chaine reste la même chaîne de caractères, `join` ne modifie donc pas la chaîne de caractères à laquelle elle s\'applique (ce qui est logique vu le caractère non-mutable des chaînes de caractères') modifie donc pas la chaîne de caractères à laquelle elle s\'applique (ce qui est logique vu le \
caractère non-mutable des chaînes de caractères')
question(4) question(4)
def join(chaine, sequence): def join(chaine, sequence):
""" """
Retourne la concaténation des éléments de séquence en insérant chaine entre eux. Retourne la concaténation des éléments de séquence en insérant chaine entre eux.
str, [str *] str str, [str *] str
""" """
res = '' res = ''
@ -139,26 +143,27 @@ l.sort()
print('>>> l') print('>>> l')
print(l) print(l)
print( print('La méthode sort trie aussi les caractères spéciaux : ponctuation au début, accents à la fin')
'La méthode sort trie aussi les caractères spéciaux : ponctuation au début, accents à la fin')
print( print('Il semblerait que la méthode sort trie les caractères de s selon l\'ordre croissant de leur \
'Il semblerait que la méthode sort trie les caractères de s selon l\'ordre croissant de leur numéro de code ASCII (ou tout encodage utilisé)') numéro de code ASCII (ou tout encodage utilisé)')
question(2) question(2)
print('>>> l = [\'a\', 1]') print('>>> l = [\'a\', 1]')
print('>>> l.sort()') print('>>> l.sort()')
print('TypeError: unorderable types: int() < str()') print('TypeError: unorderable types: int() < str()')
print( print('On obtient une erreur comme quoi les types str et int ne sont pas ordonnable. En effet, il \
'On obtient une erreur comme quoi les types str et int ne sont pas ordonnable. En effet, il n\'est pas logique d\'ordonner des caractères avec des chiffres.') n\'est pas logique d\'ordonner des caractères avec des chiffres.')
print( print('Notons qu\'il aurait très bien pu être possible que cette méthode utilise le code des \
'Notons qu\'il aurait très bien pu être possible que cette méthode utilise le code des caractères, puisque celui-ci est de type int, comme c\'était le cas avec Python 2.') caractères, puisque celui-ci est de type int, comme c\'était le cas avec Python 2.')
section('Une fonction sort pour les chaînes') section('Une fonction sort pour les chaînes')
question(1) question(1)
def sort(chaine): def sort(chaine):
""" """
Trie les caractères de chaine par ordre de codage. Trie les caractères de chaine par ordre de codage.
@ -176,6 +181,8 @@ print(sort('timoleon'))
partie('Anagrammes') # Jean-loup partie('Anagrammes') # Jean-loup
question(1) question(1)
def sont_anagrammes1(chaine1, chaine2): def sont_anagrammes1(chaine1, chaine2):
""" """
Indique si chaine1 et chaine2 sont anagrammes Indique si chaine1 et chaine2 sont anagrammes
@ -196,6 +203,8 @@ def sont_anagrammes1(chaine1, chaine2):
return c1 == c2 return c1 == c2
question(2) question(2)
def sont_anagrammes2(chaine1, chaine2): def sont_anagrammes2(chaine1, chaine2):
""" """
Indique si chaine1 et chaine2 sont anagrammes Indique si chaine1 et chaine2 sont anagrammes
@ -216,6 +225,8 @@ def sont_anagrammes2(chaine1, chaine2):
return occu1 == occu2 return occu1 == occu2
question(3) question(3)
def sont_anagrammes3(chaine1, chaine2): def sont_anagrammes3(chaine1, chaine2):
""" """
Indique si chaine1 et chaine2 sont anagrammes Indique si chaine1 et chaine2 sont anagrammes
@ -244,6 +255,8 @@ EQUIV_NON_ACCENTUE = {'é': 'e', 'è': 'e', 'à': 'a', 'ç': 'c', 'î': 'i', 'ï
'i', 'ô': 'o', 'ê': 'e', 'ë': 'e', 'â': 'a', 'û': 'u', 'ü': 'u', 'ù': 'u'} 'i', 'ô': 'o', 'ê': 'e', 'ë': 'e', 'â': 'a', 'û': 'u', 'ü': 'u', 'ù': 'u'}
question(2) question(2)
def bas_casse_sans_accent(chaine): def bas_casse_sans_accent(chaine):
""" """
Renvoie l'équivalent minuscule non accentuée de la chaîne passée en paramètre Renvoie l'équivalent minuscule non accentuée de la chaîne passée en paramètre
@ -265,6 +278,8 @@ def bas_casse_sans_accent(chaine):
return ret return ret
question(3) question(3)
def sont_anagrammes_sans_casse_ni_accent(chaine1, chaine2): def sont_anagrammes_sans_casse_ni_accent(chaine1, chaine2):
""" """
Indique si chaine1 et chaine2 sont anagrammes sans de tenir compte de la casse ni des accents Indique si chaine1 et chaine2 sont anagrammes sans de tenir compte de la casse ni des accents
@ -309,6 +324,8 @@ print('Le test a retourné %s.' % test)
section('Anagrammes d\'un mot : première méthode') section('Anagrammes d\'un mot : première méthode')
question(1) question(1)
def anagrammes(mot): def anagrammes(mot):
""" """
Recherche les anagrammes de mot Recherche les anagrammes de mot
@ -333,6 +350,8 @@ print('Il se peut que certains mots du lexique soient des anagrammes d\'autres m
pour des clés différentes.') pour des clés différentes.')
question(2) question(2)
def cle(mot): def cle(mot):
""" """
Renvoie la version triée des lettres en minuscule et sans accents de mot Renvoie la version triée des lettres en minuscule et sans accents de mot
@ -360,6 +379,8 @@ for m in LEXIQUE:
print('Le dictionnaire des anagrammes contient %d entrées' % len(ANAGRAMMES)) print('Le dictionnaire des anagrammes contient %d entrées' % len(ANAGRAMMES))
question(4) question(4)
def anagrammes2(mot): def anagrammes2(mot):
""" """
Recherche les anagrammes de mot Recherche les anagrammes de mot
@ -416,7 +437,7 @@ def liste_possibilites(arbre, precede):
""" """
Renvoie la liste des possibilités à partir d'un arbre de possibilités. Renvoie la liste des possibilités à partir d'un arbre de possibilités.
dict, list list dict, list list
>>> liste_possibilites(annagrammes_arbre(['mange', 'ton']), []) >>> liste_possibilites(annagrammes_arbre(['mange', 'ton']), [])
[['mange', 'ton'], ['mange', 'ont'], ['mangé', 'ton'], ['mangé', 'ont']] [['mange', 'ton'], ['mange', 'ont'], ['mangé', 'ton'], ['mangé', 'ont']]
""" """
@ -467,6 +488,8 @@ partie('Sauvegarde et récupération')
ANAGRAMMES_FICHIER = 'anagrammes.txt' ANAGRAMMES_FICHIER = 'anagrammes.txt'
question(1) question(1)
def sauver_dico(): def sauver_dico():
""" """
Sauvegarde le dictionnaire des anagrammes dans un fichier. Sauvegarde le dictionnaire des anagrammes dans un fichier.
@ -485,6 +508,8 @@ print('Le dictionnaire fait %d octets, soit %0.3f Mio.' %
(taille, taille / 1024 / 1024)) (taille, taille / 1024 / 1024))
question(3) question(3)
def charger_dico(): def charger_dico():
""" """
Lit le dictionnaire des anagrammes depuis un fichier. Lit le dictionnaire des anagrammes depuis un fichier.