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'))
question(2)
print(
'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')
print('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')
question(3)
print(">>> s = 'la méthode split est parfois bien utile'")
@ -52,8 +52,9 @@ print(s.split(' '))
print('>>> s')
print('\'' + s + '\'')
print(
'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')
print('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')
section('Méthode join')
@ -85,8 +86,8 @@ print('>>> "".join ([1,2])')
print('TypeError: sequence item 0: expected str instance, int found')
question(2)
print(
'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.')
print('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.')
question(3)
print('>>> chaine = \'!\'')
@ -97,13 +98,16 @@ print('>>> chaine')
print('\'' + chaine + '\'')
print(
'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')
print('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')
question(4)
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
"""
res = ''
@ -139,26 +143,27 @@ l.sort()
print('>>> l')
print(l)
print(
'La méthode sort trie aussi les caractères spéciaux : ponctuation au début, accents à la fin')
print('La méthode sort trie aussi les caractères spéciaux : ponctuation au début, accents à la fin')
print(
'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é)')
print('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é)')
question(2)
print('>>> l = [\'a\', 1]')
print('>>> l.sort()')
print('TypeError: unorderable types: int() < str()')
print(
'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.')
print(
'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.')
print('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.')
print('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.')
section('Une fonction sort pour les chaînes')
question(1)
def sort(chaine):
"""
Trie les caractères de chaine par ordre de codage.
@ -176,6 +181,8 @@ print(sort('timoleon'))
partie('Anagrammes') # Jean-loup
question(1)
def sont_anagrammes1(chaine1, chaine2):
"""
Indique si chaine1 et chaine2 sont anagrammes
@ -196,6 +203,8 @@ def sont_anagrammes1(chaine1, chaine2):
return c1 == c2
question(2)
def sont_anagrammes2(chaine1, chaine2):
"""
Indique si chaine1 et chaine2 sont anagrammes
@ -216,6 +225,8 @@ def sont_anagrammes2(chaine1, chaine2):
return occu1 == occu2
question(3)
def sont_anagrammes3(chaine1, chaine2):
"""
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'}
question(2)
def bas_casse_sans_accent(chaine):
"""
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
question(3)
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
@ -309,6 +324,8 @@ print('Le test a retourné %s.' % test)
section('Anagrammes d\'un mot : première méthode')
question(1)
def anagrammes(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.')
question(2)
def cle(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))
question(4)
def anagrammes2(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.
dict, list list
>>> liste_possibilites(annagrammes_arbre(['mange', 'ton']), [])
[['mange', 'ton'], ['mange', 'ont'], ['mangé', 'ton'], ['mangé', 'ont']]
"""
@ -467,6 +488,8 @@ partie('Sauvegarde et récupération')
ANAGRAMMES_FICHIER = 'anagrammes.txt'
question(1)
def sauver_dico():
"""
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))
question(3)
def charger_dico():
"""
Lit le dictionnaire des anagrammes depuis un fichier.