Theme 5 Les types de données<br />2011-02-17<br />1<br />
2<br />Variables en mémoire (Rappel)<br />@1<br />Verre3<br />Employee1<br />@2<br />@3<br />B2B_Server_Name<br />@4<br />...
Principaux types de données<br />Un type: Un espace en mémoire<br />Une adresse<br />Une taille<br />En python: défini de ...
Le type integer<br />Exemple de la suite de Fibonacci avec des entiers   <br />a,b=0,1<br />printa,":",type(b) <br />print...
Le type integer en mémoire<br />Encodé sous la forme d'un bloc de 4 octets (ou 32 bits)<br />Exemple:<br />	2^30* 0 + 2^29...
Le type float<br />Exemple de la suite de Fibonacci avec des réels (nombres à virgules flottantes)   <br />a,b=0. ,1.<br /...
Le type float en mémoire<br />Plage des valeurs (positives ou négatives)<br /><ul><li>Entre 10-308 et 10308
Précision de 12 chiffres significatifs
Encodés d'une manière particulière sur 8 octets (64 bits)
Une partie du code correspond aux 12 chiffres significatifs
L’autre à l'ordre de grandeur (exposant de 10).</li></ul>7<br />
Le type string<br />phrase1 = 'les oeufs durs.'<br />phrase2 = ' "Oui", répondit-il,'<br />phrase3 = "j'aime bien"<br />pr...
Le caractère spécial «  » (antislash)<br />txt3 = '"N'est-ce pas ?" répondit-elle.'<br />print(txt3)<br />"N'est-ce pas ?...
Opérations sur les chaînes (1/2)<br />Accès aux éléments de la chaîne<br />ch= "Christine"<br />printch[0], ch[2], ch[5] <...
Opérations sur les chaînes (2/2)<br />Longueur d’une chaîne<br />printlen(c) <br />29<br />Conversion d’un nombre en chaî...
Exercice 5.1<br />Écrivez un script qui détermine si une chaine contient ou non le caractère ≪ e ≫.<br />12<br />
Exercice 5.2<br />Écrivez un script qui compte le nombre d’occurrences du caractère ≪ e ≫ dans une chaine.<br />13<br />
Exercice 5.3<br />Écrivez un script qui recopie une chaine (dans une nouvelle variable), en insérant des astérisques entre...
Exercice 5.4<br />Écrivez un script qui recopie une chaine (dans une nouvelle variable) en l’inversant.<br />15<br />
Les listes<br />Définition d’une liste<br />jour = ['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi']print(...
Opérations sur les listes (1/5) <br />Affichage des éléments de la liste<br />print(jour[0])print(jour[2])print(jour[4])lu...
Opérations sur les listes (2/5) <br />Il est possible de changer les éléments individuels d’une listejour[3] = jour[3] + 4...
On peut remplacer certains éléments d’une liste par d’autres.jour[3] = 'Juillet'print(jour)['lundi', 'mardi', 'mercredi', ...
Longeur de la liste<br />len(liste) comme pour les chaînes, s’applique aussi aux listes.print(len(jour))7<br />Suppressio...
Opérations sur les listes (5/5) <br />['lundi', 'mardi', 'mercredi', 'Juillet', 'jeudi', 'vendredi']<br />Ajout d’un éléme...
Prochain SlideShare
Chargement dans…5
×

Theme 5

833 vues

Publié le

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
833
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
23
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Theme 5

  1. 1. Theme 5 Les types de données<br />2011-02-17<br />1<br />
  2. 2. 2<br />Variables en mémoire (Rappel)<br />@1<br />Verre3<br />Employee1<br />@2<br />@3<br />B2B_Server_Name<br />@4<br />EntrepriseName<br />Checked<br />@5<br />Verre2<br />@7<br />verre3<br />@8<br />
  3. 3. Principaux types de données<br />Un type: Un espace en mémoire<br />Une adresse<br />Une taille<br />En python: défini de manière dynamique<br />Une plage de valeurs permises<br />Les types<br />Les données numériques: integer , float<br />Les données alphanumériques: Le type string<br />Les listes<br />3<br />
  4. 4. Le type integer<br />Exemple de la suite de Fibonacci avec des entiers <br />a,b=0,1<br />printa,":",type(b) <br />print b,":",type(b)<br />for i in range(11):<br /> c=b<br /> b=a+b<br /> a=c<br />print b,":", type(b)<br />0 : <type 'int'><br />1 : <type 'int'><br />1 : <type 'int'><br />2 : <type 'int'><br />3 : <type 'int'><br />5 : <type 'int'><br />8 : <type 'int'><br />13 : <type 'int'><br />21 : <type 'int'><br />34 : <type 'int'><br />55 : <type 'int'><br />89 : <type 'int'><br />144 : <type 'int'><br />4<br />
  5. 5. Le type integer en mémoire<br />Encodé sous la forme d'un bloc de 4 octets (ou 32 bits)<br />Exemple:<br /> 2^30* 0 + 2^29 * 0 + 2^28 * 0 +………………….. + 2^4 * 1 + 2^3 * 0+ 2^2 * 0+ 2^1 * 1+ 2^0 * 0 = 18<br />Max: 1er bit (bit de signe) + tous les autres bits à 1 = 2147483647 <br />Plage des valeurs dans [– 2147483648 ; 2147483647]<br />Remarque: pour plus de valeurs: type Long<br />1 Octet = 8 bits<br />5<br />
  6. 6. Le type float<br />Exemple de la suite de Fibonacci avec des réels (nombres à virgules flottantes) <br />a,b=0. ,1.<br />printa,":",type(b) <br />print b,":",type(b)<br />for i in range(11):<br /> c=b<br /> b=a+b<br /> a=c<br />print b," :", type(b)<br />0.0 : <type 'float'><br />1.0 : <type 'float'><br />1.0 : <type 'float'><br />2.0 : <type 'float'><br />3.0 : <type 'float'><br />5.0 : <type 'float'><br />8.0 : <type 'float'><br />13.0 : <type 'float'><br />21.0 : <type 'float'><br />34.0 : <type 'float'><br />55.0 : <type 'float'><br />89.0 : <type 'float'><br />144.0 : <type 'float'><br />Exemples de floats<br />3.14 ; 10.; .001; 1e100; 3.14e-10<br />6<br />
  7. 7. Le type float en mémoire<br />Plage des valeurs (positives ou négatives)<br /><ul><li>Entre 10-308 et 10308
  8. 8. Précision de 12 chiffres significatifs
  9. 9. Encodés d'une manière particulière sur 8 octets (64 bits)
  10. 10. Une partie du code correspond aux 12 chiffres significatifs
  11. 11. L’autre à l'ordre de grandeur (exposant de 10).</li></ul>7<br />
  12. 12. Le type string<br />phrase1 = 'les oeufs durs.'<br />phrase2 = ' "Oui", répondit-il,'<br />phrase3 = "j'aime bien"<br />print(phrase2, phrase3, phrase1)<br />"Oui", répondit-il, j'aime bien les oeufs durs.<br />8<br />
  13. 13. Le caractère spécial « » (antislash)<br />txt3 = '"N'est-ce pas ?" répondit-elle.'<br />print(txt3)<br />"N'est-ce pas ?" répondit-elle.<br />txt1 = ' Cette chaine contient un saut de ligne. n Affichez la pour le voir! ‘<br />Cette chaine contient un saut de ligne. <br /> Affichez la pour le voir! <br />txt3= ' Je contiens deux 'apostrophes' ‘<br /> Je contiens deux 'apostrophes' <br />testTab= ' Entre toitett moi il y a deux tabulations‘<br />Entre toi et moi il y a deux tabulations<br />9<br />
  14. 14. Opérations sur les chaînes (1/2)<br />Accès aux éléments de la chaîne<br />ch= "Christine"<br />printch[0], ch[2], ch[5] <br /> C r t<br />Concaténation<br />a = 'Petit poisson' <br /> b = ' deviendra grand' <br /> c = a + b <br />printc <br /> Petit poisson deviendra grand <br />10<br />
  15. 15. Opérations sur les chaînes (2/2)<br />Longueur d’une chaîne<br />printlen(c) <br />29<br />Conversion d’un nombre en chaîne<br />ch= '8647'.<br />printch + 45 <br />cannot concatenate 'str' and 'int' objects<br />n = int(ch) <br />printn + 658712 # OK : on peut additionner 2 nombres <br />11<br />
  16. 16. Exercice 5.1<br />Écrivez un script qui détermine si une chaine contient ou non le caractère ≪ e ≫.<br />12<br />
  17. 17. Exercice 5.2<br />Écrivez un script qui compte le nombre d’occurrences du caractère ≪ e ≫ dans une chaine.<br />13<br />
  18. 18. Exercice 5.3<br />Écrivez un script qui recopie une chaine (dans une nouvelle variable), en insérant des astérisques entre les caractères.<br />Ainsi par exemple, ≪ gaston ≫ devra devenir ≪ g*a*s*t*o*n ≫<br />14<br />
  19. 19. Exercice 5.4<br />Écrivez un script qui recopie une chaine (dans une nouvelle variable) en l’inversant.<br />15<br />
  20. 20. Les listes<br />Définition d’une liste<br />jour = ['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi']print(jour)['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi']<br />La valeur de la variable jour est une liste<br />16<br />
  21. 21. Opérations sur les listes (1/5) <br />Affichage des éléments de la liste<br />print(jour[0])print(jour[2])print(jour[4])lundimercredi20.357 <br />17<br />
  22. 22. Opérations sur les listes (2/5) <br />Il est possible de changer les éléments individuels d’une listejour[3] = jour[3] + 47print(jour)['lundi', 'mardi', 'mercredi', 1847, 20.357, 'jeudi', 'vendredi']<br />jour[3] = 'Juillet'print(jour)<br /> ['lundi', 'mardi', 'mercredi', 'juillet', 20.357, 'jeudi', 'vendredi']<br />18<br />
  23. 23. On peut remplacer certains éléments d’une liste par d’autres.jour[3] = 'Juillet'print(jour)['lundi', 'mardi', 'mercredi', 'Juillet', 20.357, 'jeudi', 'vendredi']<br />Opérations sur les listes (3/5) <br />19<br />
  24. 24. Longeur de la liste<br />len(liste) comme pour les chaînes, s’applique aussi aux listes.print(len(jour))7<br />Suppression d’un élément<br />del(jour[4])<br />print(len(jour))6<br />Opérations sur les listes (4/5) <br />20<br />
  25. 25. Opérations sur les listes (5/5) <br />['lundi', 'mardi', 'mercredi', 'Juillet', 'jeudi', 'vendredi']<br />Ajout d’un élément à la listejour.append('samedi')print(jour)print(len(jour))['lundi', 'mardi', 'mercredi', 'Juillet', 'jeudi', 'vendredi', 'samedi']7<br />21<br />
  26. 26. Exercice 5.5<br />Soient les listes suivantes :<br />t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]<br />t2 = ['Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin‘,'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre']<br />Ecrivez un petit programme qui crée une nouvelle liste t3. <br />Celle-ci devra contenir tous les elements des deux listes en les alternant,<br />de telle maniere que chaque nom de mois soit suivi du nombre de jours correspondant :<br />['Janvier',31,'Fevrier',28,'Mars',31, etc...].<br />22<br />
  27. 27. Exercice 5.6<br />Ecrivezun programme qui affiche ≪ proprement ≫ tous les éléments d’une liste. <br />Si on l’appliquait par exemple a la liste t2 de l’exercice ci-dessus, on devrait obtenir :<br />Janvier Fevrier Mars Avril Mai Juin Juillet Aout Septembre …<br />23<br />
  28. 28. Exercice 5.7<br />Écrivez un programme qui analyse un par un tous les éléments d’une liste de mots (par<br />exemple : ['Jean', 'Maximilien', 'Brigitte', 'Sonia', 'Jean-Pierre‘,'Sandra']) pour générer deux nouvelles listes. <br />L’une contiendra les mots comportant<br />moins de 6 caractères, <br />L’autre les mots comportant 6 caractères ou davantage.<br />24<br />
  29. 29. Exercice 5.8<br />Ecrivezun programme qui analyse un par un tous les elements d’une liste de nombres<br />(par exemple t3) pour generer deux nouvelles listes. L’une contiendra seulement les nombres pairs de la liste initiale, et l’autre les nombres impairs.<br />Par exemple, si la liste initiale est celle de l’exercice precedent, le programme devra<br />construire une liste pairs qui contiendra [32, 12, 8, 2], et une liste impairs qui contiendra [5, 3, 75, 15]. Astuce : pensez a utiliser l’operateur modulo (%) deja cite<br />precedemment.<br />25<br />

×