TP2 Premières questions sous forme de print
This commit is contained in:
parent
052ebedada
commit
a91aea4acb
156
S2/TP2/tp2.py
156
S2/TP2/tp2.py
|
@ -27,24 +27,20 @@ section('Méthode split')
|
|||
|
||||
question(1)
|
||||
|
||||
# TODO utf-8
|
||||
# TODO en print
|
||||
|
||||
# >>> s = 'la méthode split est parfois bien utile'
|
||||
# >>> s.split (' ')
|
||||
##['la', 'm\xc3\xa9thode', 'split', 'est', 'parfois', 'bien', 'utile']
|
||||
# >>> s.split ('e')
|
||||
##['la m\xc3\xa9thod', ' split ', 'st parfois bi', 'n util', '']
|
||||
# >>> s.split ('é')
|
||||
##['la m', 'thode split est parfois bien utile']
|
||||
# >>> s.split ()
|
||||
##['la', 'm\xc3\xa9thode', 'split', 'est', 'parfois', 'bien', 'utile']
|
||||
# >>> s.split ('')
|
||||
# Traceback (most recent call last):
|
||||
# File "<stdin>", line 1, in <module>
|
||||
# ValueError: empty separator
|
||||
# >>> s.split ('split')
|
||||
##['la m\xc3\xa9thode ', ' est parfois bien utile']
|
||||
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 ('e')")
|
||||
print(s.split ('e'))
|
||||
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'))
|
||||
|
||||
question(2)
|
||||
|
||||
|
@ -58,11 +54,12 @@ question(3)
|
|||
# TODO utf-8
|
||||
# TODO en print
|
||||
|
||||
# >>> s = "la méthode split est parfois bien utile"
|
||||
# >>> s.split(' ')
|
||||
##['la', 'm\xc3\xa9thode', 'split', 'est', 'parfois', 'bien', 'utile']
|
||||
# >>> s
|
||||
##'la m\xc3\xa9thode split est parfois bien utile'
|
||||
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')
|
||||
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')
|
||||
|
@ -72,39 +69,30 @@ section('Méthode join')
|
|||
|
||||
question(1)
|
||||
|
||||
# TODO utf-8
|
||||
# TODO en print
|
||||
|
||||
# >>> l = s.split()
|
||||
# 'lam\xc3\xa9thodesplitestparfoisbienutile'
|
||||
# >>> " ".join (l)
|
||||
##'la m\xc3\xa9thode split est parfois bien utile'
|
||||
# >>> ";".join (l)
|
||||
# 'la;m\xc3\xa9thode;split;est;parfois;bien;utile'
|
||||
# >>> " tralala ".join (l)
|
||||
##'la tralala m\xc3\xa9thode tralala split tralala est tralala parfois tralala bien tralala utile'
|
||||
# >>> print ("\n".join (l))
|
||||
# la
|
||||
# méthode
|
||||
# split
|
||||
# est
|
||||
# parfois
|
||||
# bien
|
||||
# utile
|
||||
# >>> "".join (s)
|
||||
##'la m\xc3\xa9thode split est parfois bien utile'
|
||||
# >>> "!".join (s)
|
||||
##'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'
|
||||
# >>> "".join ()
|
||||
# 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
|
||||
print(">>> s = 'la méthode split est parfois bien utile'")
|
||||
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('>>> " tralala ".join (l)')
|
||||
print(" tralala ".join (l))
|
||||
print('>>> "\n".join (l)')
|
||||
print("\n".join (l))
|
||||
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 ([1,2])')
|
||||
print('TypeError: sequence item 0: expected str instance, int found')
|
||||
|
||||
question(2)
|
||||
|
||||
|
@ -113,14 +101,13 @@ print(
|
|||
|
||||
question(3)
|
||||
|
||||
# TODO utf-8
|
||||
# TODO en print
|
||||
print('>>> chaine = \'!\'')
|
||||
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(
|
||||
'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)
|
||||
|
||||
# TODO utf-8
|
||||
# TODO en print
|
||||
|
||||
# >>> l = list ('timoleon')
|
||||
# >>> l.sort()
|
||||
# >>> l
|
||||
##['e', 'i', 'l', 'm', 'n', 'o', 'o', 't']
|
||||
print('>>> l = list (\'timoleon\')')
|
||||
l = list ('timoleon')
|
||||
print('>>> l.sort()')
|
||||
l.sort()
|
||||
print('>>> l')
|
||||
print(l)
|
||||
|
||||
print('La méthode sort semble trier les lettres par ordre alphabétique')
|
||||
|
||||
# >>> s = "Je n'ai jamais joué de flûte."
|
||||
# >>> l = list (s)
|
||||
# >>> l.sort()
|
||||
# >>> l
|
||||
##[' ', ' ', ' ', ' ', ' ', "'", '.', '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('>>> 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)
|
||||
print('>>> l.sort()')
|
||||
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')
|
||||
|
@ -169,15 +158,14 @@ print(
|
|||
|
||||
question(2)
|
||||
|
||||
# TODO en print
|
||||
print('>>> l = [\'a\', 1]')
|
||||
l = ['a', 1]
|
||||
print('>>> l.sort()')
|
||||
print('TypeError: unorderable types: int() < str()')
|
||||
|
||||
# >>> l = ['a', 1]
|
||||
# >>> l.sort()
|
||||
# >>> l
|
||||
##[1, 'a']
|
||||
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 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')
|
||||
|
||||
|
@ -445,7 +433,7 @@ question(1)
|
|||
|
||||
|
||||
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)
|
||||
possibilites = []
|
||||
# for i in arbre:
|
||||
|
@ -466,7 +454,7 @@ def annagrammes_arbre(liste):
|
|||
return anagrammesPremier
|
||||
|
||||
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
|
||||
for annagrammes in mots:
|
||||
for annagramme in annagrammes:
|
||||
|
|
Reference in a new issue