De temps en temps ça peut pas faire de mal
This commit is contained in:
Geoffrey Frogeye 2015-02-09 12:04:12 +01:00
parent 0d3e64aa2b
commit d374596fcc

View file

@ -30,17 +30,17 @@ question(1)
print(">>> s = 'la méthode split est parfois bien utile'")
s = 'la méthode split est parfois bien utile'
print(">>> s.split (' ')")
print(s.split (' '))
print(s.split(' '))
print(">>> s.split ('e')")
print(s.split ('e'))
print(s.split('e'))
print(">>> s.split ('é')")
print(s.split ('é'))
print(s.split('é'))
print(">>> s.split ()")
print(s.split ())
print(s.split())
print(">>> s.split ('')")
print('ValueError: empty separator')
print(">>> s.split ('split')")
print(s.split ('split'))
print(s.split('split'))
question(2)
@ -59,7 +59,7 @@ s = 'la méthode split est parfois bien utile'
print(">>> s.split(' ')")
print(s.split(' '))
print('>>> s')
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')
@ -74,23 +74,23 @@ s = 'la méthode split est parfois bien utile'
print('>>> l = s.split()')
l = s.split()
print('>>> "".join (l)')
print("".join (l))
print("".join(l))
print('>>> " ".join (l)')
print(" ".join (l))
print(" ".join(l))
print('>>> ";".join (l)')
print(";".join (l))
print(";".join(l))
print('>>> " tralala ".join (l)')
print(" tralala ".join (l))
print(" tralala ".join(l))
print('>>> "\n".join (l)')
print("\n".join (l))
print("\n".join(l))
print('>>> "".join (s)')
print("".join (s))
print("".join(s))
print('>>> "!".join (s)')
print("!".join (s))
print("!".join(s))
print('>>> "".join ()')
print('TypeError: join() takes exactly one argument (0 given)')
print('>>> "".join ([])')
print("".join ([]))
print("".join([]))
print('>>> "".join ([1,2])')
print('TypeError: sequence item 0: expected str instance, int found')
@ -106,7 +106,7 @@ chaine = '!'
print('>>> chaine.join(l)')
print(chaine.join(l))
print('>>> chaine')
print('\''+chaine+'\'')
print('\'' + chaine + '\'')
print(
@ -133,7 +133,7 @@ section('Méthode sort')
question(1)
print('>>> l = list (\'timoleon\')')
l = list ('timoleon')
l = list('timoleon')
print('>>> l.sort()')
l.sort()
print('>>> l')
@ -144,7 +144,7 @@ print('La méthode sort semble trier les lettres par ordre alphabétique')
print('>>> s = "Je n\'ai jamais joué de flûte."')
s = "Je n'ai jamais joué de flûte."
print('>>> l = list (s)')
l = list (s)
l = list(s)
print('>>> l.sort()')
l.sort()
print('>>> l')
@ -163,8 +163,10 @@ 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 fonction 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 fonction 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')
@ -251,7 +253,8 @@ section('Casse et accentuation')
question(1)
EQUIV_NON_ACCENTUE = {'é': 'e', 'è': 'e', 'à ': 'a', 'ç': 'c', 'î':'i', 'ï': 'i', 'ô': 'o', 'ê': 'e', 'ë': 'e', 'â': 'a', 'û': 'u'}
EQUIV_NON_ACCENTUE = {'é': 'e', 'è': 'e', 'à ': 'a', 'ç': 'c',
'î': 'i', 'ï': 'i', 'ô': 'o', 'ê': 'e', 'ë': 'e', 'â': 'a', 'û': 'u'}
question(2)
@ -375,9 +378,9 @@ ANAGRAMMES = dict()
for i in LEXIQUE:
k = cle(i)
if not k in ANAGRAMMES:
ANAGRAMMES[k]=[i]
ANAGRAMMES[k] = [i]
else:
ANAGRAMMES[k]= ANAGRAMMES[k] + [i]
ANAGRAMMES[k] = ANAGRAMMES[k] + [i]
print(len(ANAGRAMMES))
@ -421,10 +424,11 @@ debut = time.time()
for i in range(30):
anagrammes2(LEXIQUE[i])
temps2 = time.time() - debut
print('La première méthode à mis %s secondes, et la deuxième %s secondes' %(temps1,temps2))
print('La première méthode à mis %s secondes, et la deuxième %s secondes' %
(temps1, temps2))
partie('Phrases d\'anagrammes') # Geoffrey
@ -438,10 +442,9 @@ def arbre_vers_liste(arbre):
possibilites = []
# for i in arbre:
return possibilites
def annagrammes_arbre(liste):
# TODO Docstring
anagrammesPremier = anagrammes(liste[0])
@ -453,6 +456,7 @@ def annagrammes_arbre(liste):
else:
return anagrammesPremier
def developpement(mots):
# [[1, 2], [3, 4]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]]
# TODO Docstring
@ -475,6 +479,8 @@ partie('Sauvegarde et récupération')
ANAGRAMMES_FICHIER = 'anagrammes.txt'
question(1)
def sauver_dico():
f = open(ANAGRAMMES_FICHIER, 'w')
for i in ANAGRAMMES:
@ -485,10 +491,13 @@ question(2)
sauver_dico()
from os.path import getsize
taille = getsize(ANAGRAMMES_FICHIER)
print('Le dictionnaire fait %d octets, soit %0.3f Mio.' % (taille, taille/1024/1024))
print('Le dictionnaire fait %d octets, soit %0.3f Mio.' %
(taille, taille / 1024 / 1024))
question(3)
def charger_dico():
ANAGRAMMES = dict()
f = open(ANAGRAMMES_FICHIER, 'r')