TP2 Premières questions sous forme de print

This commit is contained in:
Geoffrey Frogeye 2015-02-09 11:24:53 +01:00
parent 052ebedada
commit a91aea4acb

View file

@ -27,24 +27,20 @@ section('Méthode split')
question(1) question(1)
# TODO utf-8 print(">>> s = 'la méthode split est parfois bien utile'")
# TODO en print s = 'la méthode split est parfois bien utile'
print(">>> s.split (' ')")
# >>> s = 'la méthode split est parfois bien utile' print(s.split (' '))
# >>> s.split (' ') print(">>> s.split ('e')")
##['la', 'm\xc3\xa9thode', 'split', 'est', 'parfois', 'bien', 'utile'] print(s.split ('e'))
# >>> s.split ('e') print(">>> s.split ('é')")
##['la m\xc3\xa9thod', ' split ', 'st parfois bi', 'n util', ''] print(s.split ('é'))
# >>> s.split ('é') print(">>> s.split ()")
##['la m', 'thode split est parfois bien utile'] print(s.split ())
# >>> s.split () print(">>> s.split ('')")
##['la', 'm\xc3\xa9thode', 'split', 'est', 'parfois', 'bien', 'utile'] print('ValueError: empty separator')
# >>> s.split ('') print(">>> s.split ('split')")
# Traceback (most recent call last): print(s.split ('split'))
# File "<stdin>", line 1, in <module>
# ValueError: empty separator
# >>> s.split ('split')
##['la m\xc3\xa9thode ', ' est parfois bien utile']
question(2) question(2)
@ -58,11 +54,12 @@ question(3)
# TODO utf-8 # TODO utf-8
# TODO en print # TODO en print
# >>> s = "la méthode split est parfois bien utile" print(">>> s = 'la méthode split est parfois bien utile'")
# >>> s.split(' ') s = 'la méthode split est parfois bien utile'
##['la', 'm\xc3\xa9thode', 'split', 'est', 'parfois', 'bien', 'utile'] print(">>> s.split(' ')")
# >>> s print(s.split(' '))
##'la m\xc3\xa9thode split est parfois bien utile' 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 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') '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')
@ -72,39 +69,30 @@ section('Méthode join')
question(1) question(1)
# TODO utf-8 print(">>> s = 'la méthode split est parfois bien utile'")
# TODO en print s = 'la méthode split est parfois bien utile'
print('>>> l = s.split()')
# >>> l = s.split() l = s.split()
# 'lam\xc3\xa9thodesplitestparfoisbienutile' print('>>> "".join (l)')
# >>> " ".join (l) print("".join (l))
##'la m\xc3\xa9thode split est parfois bien utile' print('>>> " ".join (l)')
# >>> ";".join (l) print(" ".join (l))
# 'la;m\xc3\xa9thode;split;est;parfois;bien;utile' print('>>> ";".join (l)')
# >>> " tralala ".join (l) print(";".join (l))
##'la tralala m\xc3\xa9thode tralala split tralala est tralala parfois tralala bien tralala utile' print('>>> " tralala ".join (l)')
# >>> print ("\n".join (l)) print(" tralala ".join (l))
# la print('>>> "\n".join (l)')
# méthode print("\n".join (l))
# split print('>>> "".join (s)')
# est print("".join (s))
# parfois print('>>> "!".join (s)')
# bien print("!".join (s))
# utile print('>>> "".join ()')
# >>> "".join (s) print('TypeError: join() takes exactly one argument (0 given)')
##'la m\xc3\xa9thode split est parfois bien utile' print('>>> "".join ([])')
# >>> "!".join (s) print("".join ([]))
##'l!a! !m!\xc3!\xa9!t!h!o!d!e! !s!p!l!i!t! !e!s!t! !p!a!r!f!o!i!s! !b!i!e!n! !u!t!i!l!e' print('>>> "".join ([1,2])')
# >>> "".join () print('TypeError: sequence item 0: expected str instance, int found')
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# TypeError: join() takes exactly one argument (0 given)
# >>> "".join ([])
# ''
# >>> "".join ([1,2])
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# TypeError: sequence item 0: expected string, int found
question(2) question(2)
@ -113,14 +101,13 @@ print(
question(3) question(3)
# TODO utf-8 print('>>> chaine = \'!\'')
# TODO en print chaine = '!'
print('>>> chaine.join(l)')
print(chaine.join(l))
print('>>> chaine')
print('\''+chaine+'\'')
# >>> chaine = '!'
# >>> chaine.join(l)
# 'la!m\xc3\xa9thode!split!est!parfois!bien!utile'
# >>> chaine
# '!'
print( 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') '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')
@ -145,21 +132,23 @@ section('Méthode sort')
question(1) question(1)
# TODO utf-8 print('>>> l = list (\'timoleon\')')
# TODO en print l = list ('timoleon')
print('>>> l.sort()')
# >>> l = list ('timoleon') l.sort()
# >>> l.sort() print('>>> l')
# >>> l print(l)
##['e', 'i', 'l', 'm', 'n', 'o', 'o', 't']
print('La méthode sort semble trier les lettres par ordre alphabétique') print('La méthode sort semble trier les lettres par ordre alphabétique')
# >>> s = "Je n'ai jamais joué de flûte." print('>>> s = "Je n\'ai jamais joué de flûte."')
# >>> l = list (s) s = "Je n'ai jamais joué de flûte."
# >>> l.sort() print('>>> l = list (s)')
# >>> l l = list (s)
##[' ', ' ', ' ', ' ', ' ', "'", '.', 'J', 'a', 'a', 'a', 'd', 'e', 'e', 'e', 'f', 'i', 'i', 'j', 'j', 'l', 'm', 'n', 'o', 's', 't', 'u', '\xa9', '\xbb', '\xc3', '\xc3'] print('>>> l.sort()')
l.sort()
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')
@ -169,15 +158,14 @@ print(
question(2) question(2)
# TODO en print print('>>> l = [\'a\', 1]')
l = ['a', 1]
print('>>> l.sort()')
print('TypeError: unorderable types: int() < str()')
# >>> l = ['a', 1] 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.')
# >>> l.sort() 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.')
# >>> l
##[1, 'a']
print(
'On remarque que 1 se place avant \'a\'. Si nous étions correct dans la question précédente, les éléments de liste sont triés selon leur valeur, ou leur numéro de code pour les caractères. \'a\' ayant pour numéro de code 97 (`ord(\'a\') == 97`), et 1 < 97, il est normal qu\'il se retrouve après le 1.')
section('Une fonction sort pour les chaînes') section('Une fonction sort pour les chaînes')
@ -445,7 +433,7 @@ question(1)
def arbre_vers_liste(arbre): def arbre_vers_liste(arbre):
# [[1, [3, [4]]], [2, [3, [4]]]] ⇒‡’ [[1, 3], [1, 4], [2, 3], [2, 4]] # [[1, [3, [4]]], [2, [3, [4]]]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]]
print(arbre) print(arbre)
possibilites = [] possibilites = []
# for i in arbre: # for i in arbre:
@ -466,7 +454,7 @@ def annagrammes_arbre(liste):
return anagrammesPremier return anagrammesPremier
def developpement(mots): def developpement(mots):
# [[1, 2], [3, 4]] ⇒‡’ [[1, 3], [1, 4], [2, 3], [2, 4]] # [[1, 2], [3, 4]] ⇒ [[1, 3], [1, 4], [2, 3], [2, 4]]
# TODO Docstring # TODO Docstring
for annagrammes in mots: for annagrammes in mots:
for annagramme in annagrammes: for annagramme in annagrammes: