SlideShare une entreprise Scribd logo
1  sur  25
Theme 5 Les types de données 2011-02-17 1
2 Variables en mémoire (Rappel) @1 Verre3 Employee1 @2 @3 B2B_Server_Name @4 EntrepriseName Checked @5 Verre2 @7 verre3 @8
Principaux types de données Un type: Un espace en mémoire Une adresse Une taille En python: défini de manière dynamique Une plage de valeurs permises Les types Les données numériques: integer , float Les données alphanumériques: Le type string Les listes 3
Le type integer Exemple de la suite de Fibonacci avec des entiers    a,b=0,1 printa,":",type(b)  print b,":",type(b) for i in range(11):     c=b     b=a+b     a=c print b,":", type(b) 0 : <type 'int'> 1 : <type 'int'> 1 : <type 'int'> 2 : <type 'int'> 3 : <type 'int'> 5 : <type 'int'> 8 : <type 'int'> 13 : <type 'int'> 21 : <type 'int'> 34 : <type 'int'> 55 : <type 'int'> 89 : <type 'int'> 144 : <type 'int'> 4
Le type integer en mémoire Encodé sous la forme d'un bloc de 4 octets (ou 32 bits) Exemple: 	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 Max:  1er bit (bit de signe) + tous les autres bits à 1 = 2147483647  Plage des valeurs dans [– 2147483648  ;  2147483647] Remarque: pour plus de valeurs: type Long 1 Octet = 8 bits 5
Le type float Exemple de la suite de Fibonacci avec des réels (nombres à virgules flottantes)    a,b=0. ,1. printa,":",type(b)  print b,":",type(b) for i in range(11):     c=b     b=a+b     a=c print b," :", type(b) 0.0 : <type 'float'> 1.0 : <type 'float'> 1.0  : <type 'float'> 2.0  : <type 'float'> 3.0  : <type 'float'> 5.0  : <type 'float'> 8.0  : <type 'float'> 13.0  : <type 'float'> 21.0  : <type 'float'> 34.0  : <type 'float'> 55.0  : <type 'float'> 89.0  : <type 'float'> 144.0  : <type 'float'> Exemples de floats 3.14 ; 10.; .001; 1e100; 3.14e-10 6
Le type float en mémoire Plage des valeurs (positives ou négatives) ,[object Object]
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).7
Le type string phrase1 = 'les oeufs durs.' phrase2 = ' "Oui", répondit-il,' phrase3 = "j'aime bien" print(phrase2, phrase3, phrase1) "Oui", répondit-il, j'aime bien les oeufs durs. 8
Le caractère spécial « » (antislash) txt3 = '"Napos;est-ce pas ?" répondit-elle.' print(txt3) "N'est-ce pas ?" répondit-elle. txt1 = ' Cette chaine contient un saut de ligne.  Affichez la pour le voir! ‘ Cette chaine contient un saut de ligne.   Affichez la pour le voir!  txt3= ' Je contiens deux apos;apostrophesapos; ‘  Je contiens deux 'apostrophes'  testTab= ' Entre toiet moi il y a deux tabulations‘ Entre toi	et 	moi il y a deux tabulations 9
Opérations sur les chaînes (1/2) Accès aux éléments de la chaîne ch= "Christine" printch[0], ch[2], ch[5]  	C r t Concaténation a = 'Petit poisson'      b = ' deviendra grand'      c = a + b  printc       Petit poisson deviendra grand  10
Opérations sur les chaînes (2/2) Longueur d’une chaîne printlen(c)  29 Conversion d’un nombre en chaîne ch= '8647'. printch + 45  cannot concatenate 'str' and 'int' objects n = int(ch)  printn + 658712  # OK : on peut additionner 2 nombres  11
Exercice 5.1 Écrivez un script qui détermine si une chaine contient ou non le caractère ≪ e ≫. 12
Exercice 5.2 Écrivez un script qui compte le nombre d’occurrences du caractère ≪ e ≫ dans une chaine. 13
Exercice 5.3 Écrivez un script qui recopie une chaine (dans une nouvelle variable), en insérant des astérisques entre les caractères. Ainsi par exemple, ≪ gaston ≫ devra devenir ≪ g*a*s*t*o*n ≫ 14
Exercice 5.4 Écrivez un script qui recopie une chaine (dans une nouvelle variable) en l’inversant. 15
Les listes Définition d’une liste jour = ['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi']print(jour)['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi'] La valeur de la variable jour est une liste 16
Opérations sur les listes (1/5)  Affichage des éléments de la liste print(jour[0])print(jour[2])print(jour[4])lundimercredi20.357  17
Opérations sur les listes (2/5)  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'] jour[3] = 'Juillet'print(jour)  	['lundi', 'mardi', 'mercredi', 'juillet', 20.357, 'jeudi', 'vendredi'] 18
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'] Opérations sur les listes (3/5)  19
Longeur de la liste len(liste) comme pour les chaînes, s’applique aussi aux listes.print(len(jour))7 Suppression d’un élément del(jour[4]) print(len(jour))6 Opérations sur les listes (4/5)  20
Opérations sur les listes (5/5)  ['lundi', 'mardi', 'mercredi', 'Juillet', 'jeudi', 'vendredi'] Ajout d’un élément à la listejour.append('samedi')print(jour)print(len(jour))['lundi', 'mardi', 'mercredi', 'Juillet', 'jeudi', 'vendredi', 'samedi']7 21

Contenu connexe

En vedette

Presentation création de site internet
Presentation création de site internetPresentation création de site internet
Presentation création de site internetSalim Jrt
 
Passé composé et imparfait
Passé composé et imparfaitPassé composé et imparfait
Passé composé et imparfaitPilarrv
 
Presentacion juan david
Presentacion juan davidPresentacion juan david
Presentacion juan davidjuandavid
 
Kappersacademie
KappersacademieKappersacademie
Kappersacademiekaarie1991
 
Planificacion grupo E Marcela Peñaherrera
Planificacion grupo E Marcela PeñaherreraPlanificacion grupo E Marcela Peñaherrera
Planificacion grupo E Marcela PeñaherreraMarcealex
 
Kit pour souris terne
Kit pour souris terneKit pour souris terne
Kit pour souris ternepernelle1
 
Fdievnjhefuiobgrv
FdievnjhefuiobgrvFdievnjhefuiobgrv
Fdievnjhefuiobgrvciviceg
 
AME-GALLERY -Hasch-Variation sur la peinture d'Antoine Mercier
AME-GALLERY -Hasch-Variation sur la peinture d'Antoine MercierAME-GALLERY -Hasch-Variation sur la peinture d'Antoine Mercier
AME-GALLERY -Hasch-Variation sur la peinture d'Antoine MercierAntoine Mercier-ame
 
Comment gérer ses données de marketing digital dans un environnement multic...
Comment gérer ses données de marketing digital dans un environnement multic...Comment gérer ses données de marketing digital dans un environnement multic...
Comment gérer ses données de marketing digital dans un environnement multic...Mobilosoft
 
Spésup, votre avenir en tête
Spésup, votre avenir en têteSpésup, votre avenir en tête
Spésup, votre avenir en têteAcadomia
 
Enquete de satisfaction 2010
Enquete de satisfaction 2010Enquete de satisfaction 2010
Enquete de satisfaction 2010AGIRIS EIC
 
La educación básica en méxico, preescolar, primaria y secundaria
La educación básica en méxico, preescolar, primaria y secundariaLa educación básica en méxico, preescolar, primaria y secundaria
La educación básica en méxico, preescolar, primaria y secundariaLilia G. Torres Fernández
 
Présentation de l'occasion d'affaires
Présentation de l'occasion d'affairesPrésentation de l'occasion d'affaires
Présentation de l'occasion d'affairesImmunotec Inc
 
L'Ensaia : le tout en images
L'Ensaia : le tout en imagesL'Ensaia : le tout en images
L'Ensaia : le tout en imagesENSAIA
 

En vedette (20)

Presentation création de site internet
Presentation création de site internetPresentation création de site internet
Presentation création de site internet
 
1s prob
1s prob1s prob
1s prob
 
Passé composé et imparfait
Passé composé et imparfaitPassé composé et imparfait
Passé composé et imparfait
 
VARANASI
VARANASIVARANASI
VARANASI
 
Presentacion juan david
Presentacion juan davidPresentacion juan david
Presentacion juan david
 
Kappersacademie
KappersacademieKappersacademie
Kappersacademie
 
Planificacion grupo E Marcela Peñaherrera
Planificacion grupo E Marcela PeñaherreraPlanificacion grupo E Marcela Peñaherrera
Planificacion grupo E Marcela Peñaherrera
 
Kit pour souris terne
Kit pour souris terneKit pour souris terne
Kit pour souris terne
 
Fdievnjhefuiobgrv
FdievnjhefuiobgrvFdievnjhefuiobgrv
Fdievnjhefuiobgrv
 
Projet portrait de science
Projet portrait de scienceProjet portrait de science
Projet portrait de science
 
AME-GALLERY -Hasch-Variation sur la peinture d'Antoine Mercier
AME-GALLERY -Hasch-Variation sur la peinture d'Antoine MercierAME-GALLERY -Hasch-Variation sur la peinture d'Antoine Mercier
AME-GALLERY -Hasch-Variation sur la peinture d'Antoine Mercier
 
Usidistrib : Offre
Usidistrib : OffreUsidistrib : Offre
Usidistrib : Offre
 
Comment gérer ses données de marketing digital dans un environnement multic...
Comment gérer ses données de marketing digital dans un environnement multic...Comment gérer ses données de marketing digital dans un environnement multic...
Comment gérer ses données de marketing digital dans un environnement multic...
 
Spésup, votre avenir en tête
Spésup, votre avenir en têteSpésup, votre avenir en tête
Spésup, votre avenir en tête
 
Enquete de satisfaction 2010
Enquete de satisfaction 2010Enquete de satisfaction 2010
Enquete de satisfaction 2010
 
201006 c cassurologue
201006 c cassurologue201006 c cassurologue
201006 c cassurologue
 
La educación básica en méxico, preescolar, primaria y secundaria
La educación básica en méxico, preescolar, primaria y secundariaLa educación básica en méxico, preescolar, primaria y secundaria
La educación básica en méxico, preescolar, primaria y secundaria
 
Modelo educativo UDGVIRTUAL nuevo
Modelo educativo UDGVIRTUAL nuevoModelo educativo UDGVIRTUAL nuevo
Modelo educativo UDGVIRTUAL nuevo
 
Présentation de l'occasion d'affaires
Présentation de l'occasion d'affairesPrésentation de l'occasion d'affaires
Présentation de l'occasion d'affaires
 
L'Ensaia : le tout en images
L'Ensaia : le tout en imagesL'Ensaia : le tout en images
L'Ensaia : le tout en images
 

Similaire à Theme 5

condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptxMohammedErritali2
 
Lect14 dev2
Lect14 dev2Lect14 dev2
Lect14 dev2moisko
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdfMiRA452885
 
Beyond F5 - windbg et .Net
Beyond F5 - windbg et .NetBeyond F5 - windbg et .Net
Beyond F5 - windbg et .NetYann Schwartz
 
Dublin core : raffinements
Dublin core : raffinementsDublin core : raffinements
Dublin core : raffinementsLyrae
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer Alexandru Radovici
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxbetalab
 

Similaire à Theme 5 (10)

condition et boucle (2).pptx
condition et boucle  (2).pptxcondition et boucle  (2).pptx
condition et boucle (2).pptx
 
Lect14 dev2
Lect14 dev2Lect14 dev2
Lect14 dev2
 
Introduction à XForm
Introduction à XFormIntroduction à XForm
Introduction à XForm
 
js---Partie1----.pdf
js---Partie1----.pdfjs---Partie1----.pdf
js---Partie1----.pdf
 
Introduction à PHP
Introduction à PHPIntroduction à PHP
Introduction à PHP
 
Beyond F5 - windbg et .Net
Beyond F5 - windbg et .NetBeyond F5 - windbg et .Net
Beyond F5 - windbg et .Net
 
Dublin core : raffinements
Dublin core : raffinementsDublin core : raffinements
Dublin core : raffinements
 
ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer ALF 3 - Expressions régulières et Lexer
ALF 3 - Expressions régulières et Lexer
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
Cours php
Cours phpCours php
Cours php
 

Plus de salmazen

Plus de salmazen (20)

Theme 10
Theme 10Theme 10
Theme 10
 
Theme 10
Theme 10Theme 10
Theme 10
 
Theme 9(bis)
Theme 9(bis)Theme 9(bis)
Theme 9(bis)
 
Theme 9
Theme 9Theme 9
Theme 9
 
Theme 8(suite)
Theme 8(suite)Theme 8(suite)
Theme 8(suite)
 
Cours python
Cours pythonCours python
Cours python
 
Theme 8
Theme 8Theme 8
Theme 8
 
Theme 7 (suite)
Theme 7 (suite)Theme 7 (suite)
Theme 7 (suite)
 
Theme 7
Theme 7Theme 7
Theme 7
 
Theme 6
Theme 6Theme 6
Theme 6
 
Exemples for1
Exemples for1Exemples for1
Exemples for1
 
Exemples while2
Exemples while2Exemples while2
Exemples while2
 
Exemples for
Exemples forExemples for
Exemples for
 
Exemples if
Exemples ifExemples if
Exemples if
 
Exemples while
Exemples whileExemples while
Exemples while
 
Theme3
Theme3Theme3
Theme3
 
Theme4
Theme4Theme4
Theme4
 
Theme3
Theme3Theme3
Theme3
 
Exercice0
Exercice0Exercice0
Exercice0
 
Theme2
Theme2Theme2
Theme2
 

Theme 5

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