L1 maths et miashs
Introduction à la programmation – TP 2
Exercice 1 – Travail sur les tuples
Les tuples permettent de regrouper des données en une donnée "composite". Comme pour le tutoriel sur les
strings, essayez de prévoir les réponses.
»>t_fib=(1,1,2,3,5,8,13,21,34,55)
»>t_prem=(2,3,5,7,11,13)
»>t_jeu=((1,"rouge"),(1,"bleu"),(2,"bleu"),(3,"bleu"))
1. Opérations élémentaires sur les tuples
»>t_fib+t_prem
»>t_jeu*2
»>4*(0,1)
»>(0,1)*4
2. Longueur d’un tuple :
»>len (t_fib)
»>len(())
»>len((0))
»>len(t_jeu)
3. Accès aux éléments du tuple
»>t_fib[0]
»>t_fib[-1]
»>t_jeu[0]
»>t_jeu[1]
4.
»>t_fib[1:4]
»>t_fib[-1:4]
»>t_fib[:-2]
»>t_fib[:4]
»>t_fib[:]
5. Ajout d’un élément à un tuple
»>(0,1)+(1,2)
»>(0,1)+2
»>((0,1),(1,2)) +(2,3)
»>((0,1),(1,2)) +((2,3))
6. Modification d’un tuple
Attention on ne peut pas modifier directement des valeurs dans un tuple ; on peut par contre toujours
recopier ce tuple tout changeant des éléments de ce tuple.
»>t_jeu[0]=(4,'bleu')
»>t_jeu=(4,'bleu') +t_jeu[1:]
»>t_jeu=((4,'bleu')) +t_jeu[1:]
7. Questions
(a) Écrire une instruction pour récupérer la couleur de la première carte de t_jeu
(b) Écrire une instruction pour récupérer le chiffre de la première carte de t_jeu
(c) Écrire une instruction pour créer le tuple (1,1,1,1,1,1,1,1,0,0,0,0,0) (sans taper le tuple à la
main)
Exercice 2 – Calcul de frais de port
Il s’agit de calculer des frais de port dans certaines circonstances. On veut écrire un programme qui demande
à l’utilisateur de saisir le poids de son paquet (donc 1 réel) et puis affiche le prix de la livraison. Pour obtenir
le tarif, on utilisera :
Exemples :
bonjour
quel est le poids du paquet en kilos ? 1.33
vos frais de livraison seront de 7 euros
bonjour
quel est le poids du paquet en kilos ? 7.8
vos frais de livraison seront de 15 euros
1. Un étudiant a répondu à cette question et est très content de lui : son programme n’affiche pas de rouge
quand il le lance et quand il a testé avec un poids de 3 kilos il a obtenu la bonne réponse. Mérite-il le 20
auquel il pense ? (spoiler : NON !) Vous trouverez son programme dans le fichier a_corriger_2.py sur
ecampus.
Faites d’autres tests, que remarquez-vous ? Corriger ce programme !
2. On va maintenant recopier et modifier légèrement ce programme :
Ajouter quelques lignes au programme pour que celui-ci demande en plus la valeur de la commande. Par
rapport au frais précédents, si le paquet pèse moins de 2 kilos et et que sa valeur est de plus de 60 euros la
livraison est gratuite , de même que si le paquet fait moins de 10 kilos et a une valeur de plus de 80 euros.
Exemples :
bonjour
quel est le poids du paquet en kilos ? 1.33
valeur de votre commande? 61
livraison gratuite
bonjour
quel est le poids du paquet en kilos ? 7.8
valeur de votre commande? 81
livraison gratuite
Exercice 3 – Zorglub
Les habitants de Zorglub paient limpôt selon les règles suivantes :
— les hommes de plus de 20 ans paient limpôt ;
— les femmes paient limpôt si elles ont entre 18 et 35 ans ;
— les autres ne paient pas dimpôt.
Le programme demandera donc lâge et le sexe du Zorglubien, et se prononcera ensuite sur le fait que lhabitant
est imposable ou non.
Exercice 4 – Notes
1. Ecrire un programme qui demande à l’utilisateur de saisir 3 notes (donc 3 réels) et qui affiche la moyenne
des trois notes.
2. Recopier et modifier légèrement ce programme :
Ajouter quelques lignes au programme pour que celui-ci affiche en plus un commentaire qui sera :
Bravo impossible de ne pas valider : si la somme des notes vaut 40 ou plus
Dommage vous ne pouvez plus valider : si la somme des 3 notes est strictement inférieure à 20
C’est encore possible de valider : dans les autres cas.
3. Recopier et modifier légèrement ce programme :
La note finale est obtenue avec une quatrième note : ce sera la moyenne des 4 notes. Suite à l’affichage
précédent on indiquera dans le dernier cas la note à obtenir pour avoir au moins 10 de moyenne.
Exemples :
note 1 ? 12
note 2 ? 11
note 3 ? 18
moyenne des 3 notes actuelles 13.666666666666666
bravo impossible de ne pas valider
>>>
note 1 ? 5
note 2 ? 4
note 3 ? 7
moyenne des 3 notes actuelles 5.333333333333333
dommage vous ne pouvez plus valider
>>>
note 1 ? 10
note 2 ? 9
note 3 ? 13
moyenne des 3 notes actuelles 10.666666666666666
c'est jouable, il faut avoir au moins 8 la prochaine fois
>>>
4. Recopier et modifier légèrement ce programme :
Dans le cas où la personne est sûre de valider on lui demandera quelle mention elle souhaite avoir et on
lui indiquera la note à obtenir pour réaliser son objectif.
Exemples :
note 1 ? 13
note 2 ? 15
note 3 ? 15
moyenne des 3 notes actuelles 14.333333333333334
bravo impossible de ne pas valider
vous voulez avoir mention TP, B, AB, P ? TB
ce n'est pas possible
note 1 ? 13
note 2 ? 15
note 3 ? 15
moyenne des 3 notes actuelles 14.333333333333334
bravo impossible de ne pas valider
vous voulez avoir mention TP, B, AB, P ? B
c'est jouable , il faut avoir au moins 13 la prochaine fois
Exercice 5
Ce numéro d’identification unique de l’individu est formé de 13 chiffres : le sexe (1 chiffre), l’année de naissance
(2 chiffres), le mois de naissance (2 chiffres) et le lieu de naissance (5 chiffres : 2 chiffres pour le département
puis 3 chiffres pour le lieu). Les 3 chiffres suivants correspondent à un numéro d’ordre qui permet de distinguer
les personnes nées au même lieu à la même période.
Par exemple 199091411111 correspond à un homme né en septembre 99 dans le calvados. Écrire un script qui
demande son nom et son numéro à l’utilisateur puis affiche un texte style :
Exemple :
Bonjour Monsieur TRUC
Vous êtes né en septembre 1999 (numero de département 14) et vous avez 22 ans.
Votre identifiant sera TRU1499
L’identifiant sera fabriqué avec les 3 premières lettres du nom, le département et l’année de naissance. Si le nom
a moins de 3 lettres il sera pris en entier et on rajoute des étoiles comme par exemple DU*5698 Pour l’affichage
de l’année de naissance on rajoutera devant 19 ou 20 selon l’année .