PYTHON .2 FEUILLE d'ex. n° 9 10 Avril 2012 BTS1 SIO
Thème : • " list comprehension "
Multiplier par un même réel a tous les termes d'une liste
à l'aide de la fonction elem*a de variable elem
• Moyenne des valeurs deux à deux de deux listes .
• Bulletin trimestriel
-----------------------------------------------------------------------------------------------------------------------
EXERCICE 0
Que donne le script suivant ?
def teuf():
li = [ " Aude" , "Paris"," Lyon"," Champs"]
print li.index("Paris")
------------------------------------------------------------------------------------------------------
EXERCICE 1
Que donne le script suivant ?
def fan():
ljk="figure"
print ljk[1]
---------------------------------------------------------------------------
EXERCICE 2
1. Code ASCII d'un caractère.
Que donne le script suivant?
def fut():
print ord("z")
2. Caractrère de code ASCII un entier compris entre 0 et 255.
Que donne le script suivant?
def gat():
print chr( 122)
--------------------------------------------------------------------------------------
EXERCICE 3
Soit le script suivant:
def prd():
li = [2, 7, 12, 5]
li1= [elem*3 for elem in li]
print li1
Qu'obtient-on?
-------------------------------------------------------
EXERCICE 4
Que donne le script suivant?
def son():
li = [2,7,12,5]
li1= [elem+3 for elem in li]
print li1
---------------------------------------------------------------------------
EXERCICE 5
Que fait le script suivant ?
def plusgrand():
li = [2,7,12,5]
s=li[0]
for element in li:
if element > s:
s = element
print s
---------------------------------------------------------------------------
EXERCICE 6
Que donne le script suivant?
def bulltin():
Nom=["Albert"," Cecile", "Barnabe","roger"]
Dev1=[11,10,12,5]
Dev2=[13,8,8,11]
li=[]
for i in range(4):
c=float((Dev1[i]+Dev2[i])/2)
li.append(c)
M=[Nom,Dev1,Dev2,li]
print M
------------------------------------------------------------------------------------------------------
EXERCICE 7
Reprendre le thème de l'exercice précédent en demandant à quatre
étudiants les notes de maths aux deux devoirs surveillés.
Après que s'affiche le bulletin indiquer la meilleure moyenne
et donner un étudiant qui l'a.
------------------------------------------------------------------------------------------------------------------------------------
Une des caractéristiques les plus puissantes de Python est
la list comprehension (création fonctionnelle de listes)
qui fournit un moyen concis d'appliquer une fonction sur chaque élément
d'une liste afin d'en produire une nouvelle.
Exemple: Présentation des list comprehensions
>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem <>in li]
<>1
[2, 18, 16, 8]
>>> li <>
2
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li] <>
3 >>> li [2, 18, 16, 8]
1 |
Pour comprendre cette ligne, lisez là de droite à gauche. li est la liste que vous appliquez. Python la parcourt un élément à la fois, en assignant temporairement la valeur de chacun des éléments à la variable elem. Python applique ensuite la fonction elem*2 et ajoute le résultat à la liste retournée.
|
2
|
Notez que les list comprehensions ne modifient pas la liste initiale.
|
3 |
Vous pouvez assigner le résultat d'une list comprehension à la variable que vous traitez. Python assemble la nouvelle liste en mémoire et assigne le résultat à la variable une fois la transformation terminée. |