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'))
|
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.
|
||||||
|
|
Reference in a new issue