TP2 PEP8 réel
This commit is contained in:
parent
9f0f11f28f
commit
b4d9109c24
|
@ -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.
|
||||
|
|
Reference in a new issue