INFO PYTHON. 2 Feuille 4 janvier - février 2012 BTS1
--------------------------------------------------------------------------
COURS:
Thème :
• if Condition1: veut dire Si Condition1
..Conséquence1... alors Conséquence1
elif Condition2: veut dire Si Condition2
..Conséquence2 alors Conséquence2
else: veut dire Sinon
..Conséquence3 alors Conséquence3
( On peut utiliser plusieurs fois elif .... : )
Attention: l'ordre des conditions a une importance:
Si la condition 1 est réalisée, les conditions
suivantes seront ignorées même si elles sont réalisées.
def exemple():
x =input( " donner la valeur de x " )
Si x < 2:
print " Bonjour"
elif x< 4:
print " Salut"
else:
print " Adios"
Dans le cas où on saisit 1 pour x , comme x < 2 ie message Bonjour s'affiche.
Bien que 1< 4 soit vraie le message Salut ne s'affichera pas
C'est la première condition réalisée qui l'emporte.
• float ( x ) Pour une écriture décimale de x
Cela nécessite un module complémentaire.
from decimal import*
• raw_input( " texte " ) Affiche le texte et attend la saisie d'une chaîne
• Les connecteurs and , or , No sont utilisés en informatique.
Par exemple: if x > 3 or ( x>0 and x< 2 ) :
veut dire si x plus grand que 3 ou x compris strictement entre 0 et 2
( Cela veut dire si la valeur de vérité de x > 3 or ( x>0 and x< 2 ) est 1 )
-----------------------------------------------------------------------------------------------------
EXERCICE 1 : Admission au bac
En fournissant la note de l'écrit du bac
le programme indique la suite des événements.
Imaginer les cas. ( Commencer pas faire un plan sur papier )
----------------------------------------------------------------------------------------
EXERCICE 2 . Ouverture d'un guichet
En indiquant le jour de la semaine et l'heure où l'on
souhaite aller dans un magasin le programme
doit indiquer si le magasin est ouvert ou fermé.
( Même chose commencer pas faire un plan sur papier)
-----------------------------------------------------------------------------------------
EXERCICE 3 : Traduire
Que fait le programme suivant ?
def change():
a=1
b=2
if a>= b :
a=b
else:
b=a
print b
-------------------------------------------------------------------------------
EXERCICE 4 Tester
Quelle est la valeur de y à la fin du programme suivant ?
def am():
x= − 3
if x<− 4:
y =0
elif x<− 3:
y =4−x
elif x<-1:
y =x*x+6*x+8
elif x<3:
y =2 − x
else: y= − 2
print y
-------------------------------------------------------------------------------------------------
EXERCICE 5 :
Tester
Quelle est la valeur de y à la fin du programme suivant ?
def comp():
x=3
y= − 2
if x<y:
y = y −x
elif x==y:
y=0
else:
y=x− y
print y
--------------------------------------------------------------------------------------------------
EXERCICE 6. Assurance
Une compagnie d'assurances effectue des remboursements en laissant une somme,
appelée franchise, qui reste à la charge de l'assuré.
Cette franchise représente 10% du montant des dommages sans toutefois pouvoir
être inférieure à 15 euros et supérieure à 500 euros. Exemple:
•Théoriquement pour 1000 € de dégâts l'assurance devrait rembourser 1000€.
Ce n'est pas le cas. 10% x 1000 = 100€ . On a 100 dans l'intervalle [ 15 ; 500 ].
L'assuré ne recevra que 900 € c-à-d 1000 −100 € .
• Dans le cas de 6000 € de dégats. 10% x6000= 600 € . On a 600 ≥ 500.
L'assuré recevra 5500 € c-à-d 6000 − 500 €.
•Dans le cas de 140€ de dégats. 10% x 140 = 14. On a 14 ≤ 15.
L'assuré recevra 125 € c-à-d 140 − 15 €.
•Dans le cas de 10 € de dégats. 10% x 10 = 1 € . On a 1 ≤ 15.
On ne peut pas dire qu'il va toucher 10 − 15 = − 5 € . Ce qui ne veut rien dire.
Dans ce cas on ne lui rembourse rien.
Ecrire une série d'instructions qui demandent à l'utilisateur de saisir le montant des
dommages et lui indiquent le montant remboursé ainsi que la montant de la franchise.
( Commencer par travailler sur papier )
------------------------------------------------------------------------------------------------------------
EXERCICE 7: Seconde décimale
En donnant un réel x de l'intervalle [ 5 ; 10 [ écrit avec trois décimales
le programme doit donner la seconde décimale.
Remarque-exemple:
Soit a = 6,75
♦Comment obtenir la première décimale ?
Comme a ≥ 0 la partie entière de a qui est floor( a ) est aussi bien int( a ).
Pour avoir le 6 il suffit de considérer int( a ) = 6.
Pour avoir le 7 c-à-d la première décimale:
On considère: 10 a = 67,5
Puis 10 int(a ) = 60
Ensuite la différence 10 a − 10 int(a ) = 7,5
Enfin int( 10 a − 10 int(a ) ) = 7
C'est la première décimale.
♦Pour avoir la seconde décimale il faut repartir de 10 a − 10 int(a ) = 7,5
Considérer 10 ( 10 a − 10 int(a ) ) = 75
puis 10 ( int( 10 a − 10 int(a ) ) ) = 70
Ensuite la différence 10 ( 10 a − 10 int(a ) ) − 10 ( int( 10 a − 10 int(a ) ) )= 75− 70 =5
C'est la deuxième décimale.
-----------------------------------------------------------------------------------------------------------------
Exercice 8 : Appoint en pièces de monnaie
On veut payer une somme d'argent M
( comprise entre 5€ et 10 euros )
avec des pièces de 0, 01€ 0, 02€ 0, 05€ 0, 10€
0, 20€ , 0, 50€ , 1€ et 2€ , en utilisant le moins de pièces possibles.
Par exemple:
Soit M = 7, 29 €
M se paie avec trois pièces de 2€ , une pièce de 1€,
une pièce de 0, 20€, une pièce de 0,05€ et deux pièces de 0, 02€.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------