======================================================================= 1. donnees ======================================================================= Les donnees sont stockes dans des cases memoires Elles sont accessibles via des adresses ======================================================================= 2. Types de donnees standards ======================================================================= Python permet de manipuler toutes sortes de donnees : Entiers : 0, -12, 3569 Flottants : 0.232, 3.1415, -12.0 Booleens : True, False (vrai, faux) Chaines de caracteres : ”Bonjour le monde” On parle en programmation du type d’une donnee. On peut connaitre le type d’une donnee en utilisant la fonction type. Pour afficher une donnee on utilise la fonction print. >>> type (12) < class ' int ' > >>> print ( ' Bonjour a tous ’) Bonjour a tous ======================================================================= 3.Les entiers/flottants ======================================================================= Le type int Permet de representer n’importe quel entier positif ou negatif. On utilise l’ecriture en base du 10 du nombre Il est possible d’utiliser les representation binaire, octale ou hexadecimale. Exemples >>> type ( -1254) < class ' int ' > >>> 0b110 #binaire 6 >>> 0o12 #octale 10 >>> 0x5A #hexadecimale 90 ======================================================================= 4.Les entiers/flottants ======================================================================= Le type float Permet de representer une partie des nombres a virgule La separtion entre partie enti`ere et partie decimale se fait avec un point . On peut egalement utiliser l’ecriture scientifique : 2e4 represente 2 × 104 Exemples >>> type (3.14) < class ' float ' > >>> .95 0.95 >>> 12. 12.0 >>> 3.14 e1 # e c r i t u r e s c i e n t i f i q u e 31.4 ======================================================================= 5-Opérations sur les entiers/flottants ======================================================================= Operations arithmetiques - : moins unaire +,-,*,/,() : operations usuelles // : division enti`ere % : reste de la division (modulo) **: puissance ======================================================================= 6-Operations sur les entiers/flottants ======================================================================= Exemples >>> - -3 3 >>> (7 -4)/2 1.5 >>> 24//5 4 >>> 20.5//2.5 8.0 >>> 15 % 9 6 >>> 7 % 2.4 2.2 >>> 10**3 1000 >>> 9**(1/2) 3.0 ======================================================================= 7-Operations sur les entiers/flottants ======================================================================= Operations de comparaisons == : egalite <, >, != : inegalites strictes <=, >= : inegaliites larges Exemples >>> 10*2 -5 > 12 True >>> 20/2 < 10 False >>> 3.0 == 3 True >>> 5/2*3 != 5/(2*3) True ======================================================================= 8-Les booleens ======================================================================= Le type bool permet de representer les valeurs logiques VRAI et FAUX Deux mots reserves en python : True et False. N’importe qu’elle donnee en Python poss`ede une valeur logique : les valeurs non nulles valent True les valeurs vides ou nulles valent False Exemples >>> type ( True ) < class ' bool ' > >>> type ( False ) < class ' bool ' > ======================================================================= 9-Operations sur les booleens ======================================================================= Operateurs booleens not : negation and : et or : ou inclusif Exemples >>> not True False >>> True and False False >>> True or False True >>> (5 >3) and (2.0==2) True ======================================================================= 10-Priorites des operateurs ======================================================================= Operateurs ranges par priorite descendante () - (unaire) ** ! ! associatif a droite ! ! *,/,//,% +,- <,>,<=,>=,==,!= not and or Exemple >>> not 16/2**2+10 != 15 % 8 * 2 and 0.5** -2/2*5 >= 10**2**(1/2) False ======================================================================= 11-Operations sur les chaınes de caracteres ======================================================================= Le type str permet de representer les textes. Toute suite de caracteres entouree par des apostrophes (’), des guillemets (”) ou bien des triples quotes (’’’ ou ”””) Exemple >>> type ( ' mot ’) < class ' str ' > >>> ' Une chaine de caracteres ’ ’ Une chaine de caracteres ’ >>> " Une autre " ’ Une autre ’ >>> " L ' exemple pertinant " ’L \’ exemple pertinant ’ >>> ’’’ Un exemple avec ’apostrophes’ et "guillemets" ’’’ ’ Un exemple avec \ ' apostrophes \ ' et " guillemets " ’ ======================================================================= 12-Operations sur les chaˆınes de caract`eres ======================================================================= Caract`eres speciaux \ : le caract`ere d’echappement (transforme le caract`ere suivant) \n : saut de ligne \t : tabulation \b : retour arri`ere Exemple >>> print ( ' Bonjour \na \ntous ’) Bonjour a tous >>> print ( ' Bonjour \ta \ttous ’) Bonjour a tous >>> print ( ' Bonjour \ba \btous ’) Bonjoutous ======================================================================= 13-Operations sur les chaˆınes de caract`eres ======================================================================= Les operateurs + : concatenation * : repetition len : fonction retournant la longueur d’une chaˆıne Exemples >>> " Bonjour " + " a " + " tous " ’ Bonjouratous ’ >>> " cou " *2 ’ coucou ’ >>> len ( " cou " *2+ ' toi ’) 10 ======================================================================= 14-Transtypage ======================================================================= Il est possible de transformer le type d’une donnee : Transformer en entier : fonction int() Transformer en flottant : fonction float() Transformer en entier : fonction str() Cela ne fonctionne que si la donnee de depart est compatible avec le type d’arrivee. ======================================================================= 15-Transtypage ======================================================================= Exemples >>> int (2.3) 2 >>> int ( " 21 " ) 21 >>> int ( " 2.3 " ) ValueError : invalid literal for int () with base 10: ' 2.3 ’ >>> float (2) 2.0 >>> float ( " 2.3 " ) 2.3 >>> float ( " 2 ,3 " ) ValueError : could not convert string to float : ' 2 ,3 ’ >>> str (3.14) ’ 3.14 ’ ======================================================================= 16-Variables et affectation ======================================================================= Variables Pour stocker une donnee en memoire on utilise une variable Le nom d’une variable est une suite de caracteres ne contenant que des caracteres alphanumeriques 0-9a-zA-Z ou le caractere sousligne _ Le nom d’une variable commence forcement par une lettre ou un caractere sousligne. Le nom d’une varaible ne peut pas etre un mot reserve du langage : if, elif, else, while, not, and, or ... La casse est prise en compte (majuscule = minuscule) Stocker une donnee dans une variable se fait a l’aide de l’operateur = Cette operation s’appelle une affectation ======================================================================= 17-Variables et affectation ======================================================================= Exemples >>> a = 3 >>> b = 5 >>> print (a , b ) 3 5 >>> chaine = ' to ’ >>> print ( chaine *2) toto >>> _un_ = 1 >>> _2_ = 2 print ( _un_ + _2_ ) 3 >>> 3 eme = 3 File " < stdin > " , line 1 3 eme = 3 ^ SyntaxError : invalid syntax ======================================================================= 18-Variables et affectation ======================================================================= L’operateur = Il n’est pas symetrique (3 = a ne marche pas) Il est associatif a droite (a = b = c veut dire a = (b = c)) Il peut servir pour des affectation paralleles a,b = 2,3 Exemples >>> >>> 1 2 >>> >>> 3 3 19-Entree/Sortie ======================================================================= a ,b , c = 1 ,2 ,3 print (a , b , c ) 1 2 3 a = b = c print (a ,b , c ) 3 3 3 Afficher des donnees : la fonction print affiche la valeur des donnees passees en param`etres. S’il y a plusieurs donnees il faut les separer par des virgules, elles sont separees par un espace `a l’affichage. Interpr`ete les caract`eres speciaux (saut de ligne, tabulation, etc) Se termine par un saut de ligne ..... qui peut ˆetre modifie ` a l’aide du param`etre optionnel end Exemples >>> print ( " Bonjour " ); print ( " Bonjour " ) Bonjour Bonjour >>> print ( " Bonjour " , end = " " ); print ( " Bonjour " ) Bonjour Bonjour ======================================================================= 20-Entree/Sortie ======================================================================= Saisir des donnees au clavier : la fonction input. Stoppe l’execution du programme jusqua ce que l’utilisateur aie saisi une donnee. La saisie se termine toujours par l’appuie sur la touche ENTER. Renvoie une donnee de type str ! Un texte peut ˆetre ajoute avant l’invite de saisie en param`etre de la fonction Exemples >>> age = input ( " Quel est votre age ? " ) Quel est votre age ?102 >>> age ’ 102 ’ >>> print ( " Vous avez " ,age , " ans " ) Vous avez 102 ans ======================================================================= 22. complement ======================================================================= 11:36 pl@812/python> python3 Python 3.3.2 (default, Aug 23 2013, 19:00:47) [GCC 4.8.1 20130603 (Red Hat 4.8.1-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> type ( 1 < 2 < 3) >>> False < 3 True >>> 1 < 2 > 3 False >>> 1 < 2 > 0 True >>> False > True False >>> False < True True >>> int ( False ) 0 >>> int ( True ) 1 >>> ======================================================================= Exercice 1 ======================================================================= 1: : 1 True: : True 1.0: : 1.0 3.14: : 3.14 '3.14': : 3.14 1.==1: : True 2**10: : 1024 2e10: : 20000000000.0 10%3: : 1 20//3: : 6 198/7: : 28.285714285714285 float("2"): : 2.0 int(5/2)+1: : 3 ((3+7)//2)**2: : 25 1024/5*2: : 409.6 8**(0.5)>3: : False (38<5)or(24%3==0): : True not 1==2 and 5<10: : True not(True and (1<=1e2/10e1)): : False False and (not(not False and True)): : False float("2.1")+1.2: : 3.3 "3.14"+str(15): : 3.1415 int(str("2"+"3")*2): : 2323 10*float(str("6."+"2"*2)): : 62.199999999999996 ======================================================================= Exercice 2 ======================================================================= ======================================================================= Exercice 3 =======================================================================