Vous êtes sur la page 1sur 5

Exercice de révision

Exercice I :

Pour chacune des questions suivantes, cocher la réponse qui vous emble la plus convenable.

1. Laquelle des fonctions suivantes convertit une 2. En python, que fait l’opérateur // ?
« Chaine » en « Réel » en python?
str(x) Division entière
float(x) Retourne le reste
int(x) Division du float par zéro
len(x) idem a ** b
3. Laquelle des fonctions suivantes vérifie dans une 4. Quel opérateur en python est évalué à « true » s’il ne
chaîne que tous les caractères sont des chiffres ? trouve pas de variable dans la séquence spécifiée ?
isdigit() **
isalnum() is
capitalize() not in
shuffle(lst) //

5. Quelle sera la sortie du code suivant pour x(0)? 6. En python, quel mot clé est utilisé pour commencer une
x = lambda a : a + 10 fonction ?
10 function
5 def
15 fun
Erreur import

Exercice II :

Ecrire un programme qui permet de saisir le prénom de l’utilisateur et son année de naissance et d’afficher le
message : « Bonjour ‘ Prénom’, ton âge est : ‘age’».
Exemple :
Entrées : Prénom = Jamal ; année de naissance : 2003
Sortie : Bonjour Jamal, ton âge est : 20 ans.

Exercice III :

Ecrire un programme qui permet de saisir 3 variables : jour, nom, nombre de kilomètres :
1 –A l’aide de la méthode format(), afficher : le « jour », « nom » a parcouru « nombre de kilomètres » Km.
 Exemple : Le dimanche Zakaria a parcouru 5 Km
2 – A l’aide de la méthode sep(), afficher les 3 variables séparées par dix « * »
 Exemple : dimanche********** Zakaria********** 5
3 – A l’aide de la fonction end(), afficher chacune des 3 variables suivie respectivement par « : jour », « : nom » et
« : nombre de kilomètres ».
 Exemple : dimanche : jour
Zakaria : nom
5 : nombre de kilomètres
Exercice IV :

1. Définir une fonction lambda qui reçoit 2 entiers a et b et retourne la différence a-b.
2. Ecrire un programme qui permet de saisir une liste de monuments avec leur année de construction (la
saisie se termine avec un nom de monument vide) et affiche le plus ancien et le plus récent.
Indication : Utiliser la fonction lambda de la question 1 pour définir l’ancienneté du monument relativement à
l’année 2023.

Exercice IIV :

Soient a et b deux entiers naturels.


1. Écrire une boucle affichant et incrémentant (+1) la valeur de a tant qu’elle reste inférieure ou égale à celle
de b.
2. Écrire une boucle décrémentant (-1) la valeur de b, affichant sa valeur si elle est impaire, jusqu’à ce que b soit
nul.

Corrigé Exercice II
# Version basique
vprenom=input("Prénom : ")
vage=int(input("Age :"))
print("Bonjour {}, ton âge est {} ans".format(vprenom,vage))

# Version simple
"""
try:
vprenom=input("Prénom : ")
vage=int(input("Age :"))
print("Bonjour {}, ton âge est {} ans".format(vprenom,vage))
except:
print("Saisie incorrect")
"""
#Version II
"""

while True:
vprenom=input("Prénom : ")
if vprenom=="" or vprenom.isspace():
vrep=input("Voulez-vous quitter (O/N) ? ")
if vrep in "oO":
break
else:
continue
while True:
vage=input("Age :")
if vage.isdigit() and int(vage)>0:
print("Bonjour {}, ton âge est {} ans".format(vprenom,vage))
else:
print("Age incorrect !")
continue
break
vrep=input("Voulez-vous quitter (O/N) ? ")
if vrep in "oO":
break
else:
continue
"""

Corrigé Exercice III


# Version basique

"""
vjour=input("Jour : ")
vnom=input("Nom : ")
vkm=int(input("Nb Km : "))
print("Le {},{} a parcouru {} Km".format(vjour,vnom,vkm))
print(vjour,vnom,vkm,sep="*"*10)
print(vjour,end=":jour\n")
print(vnom,end=":nom\n")
print(vkm,end=":nombre de kilomètre")
"""

# Version simple
"""
vjour=input("Jour : ")
vnom=input("Nom : ")
try:
vkm=int(input("Nb Km : "))
print("Le {},{} a parcouru {} Km".format(vjour,vnom,vkm))
print(vjour,vnom,vkm,sep="*"*10)
print(vjour,end=":jour\n")
print(vnom,end=":nom\n")
print(vkm,end=":nombre de kilomètre")
except:
print("Saisie du Nb de Km incorrect")

"""
#Version II
def ctrlssie(vj,vn,vd):
if vj.lower() not in ["lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche"]:
print("Saisie jour érronnée !")
return False
if vn=="" or vn.isspace():
print("Nom vide !")
return False
if vd.isdigit() and int(vd)>=0:
return True
else:
print("Nombre de Kilomètre à revoir !")
return False

while True:
vjour=input("Jour : ")
vnom=input("Nom : ")
vkm=input("Nb Km : ")
if ctrlssie(vjour,vnom,vkm):
print("Le {},{} a parcouru {} Km".format(vjour,vnom,vkm))
print(vjour,vnom,vkm,sep="*"*10)
print(vjour,end=":jour\n")
print(vnom,end=":nom\n")
print(vkm,end=":nombre de kilomètre\n")
vrep=input("Voulez-vous quitter (O/N) ? ")
if vrep in "oO":
break

Corrigé Exercice IV
f = lambda a,b : a - b
anc=rec=(‘’ ‘’,’’ ’’)
while True:
name = input("Entrer monument: ")
if name==’’ ‘’ or name.isspace():
break
an = input("Entrer l'année : ")
if not an.isdigit() or int(an)<=0
print(‘Année incorrecte’)
continue
if anc[0+ =’’ ‘’ or anc[1]>an:
anc[0],anc[1]=name,an
if rec[0+ =’’ ‘’ or rec[1]<an:
rec[0],rec[1]=name,an
print("le monument le plus recent est: ", rec*0+ , ‘’construit en ‘’, rec[1],"\n",
"le monument le plus ancien est: ", anc*0+, ‘’construit en ‘’, anc[1])

Version 2
anc = lambda a, b: a - b
liste_monuments = []
nom_monument = input("Entrez le nom du monument: ")
while nom_monument != "" and not nom_monument.isspace():
try:
annee_construction = int(input("Entrez l'année de construction de: "))
if annee_construction > 0:
liste_monuments.append((nom_monument, annee_construction))
else:
print("Année incorrecte !")
continue
except:
print("Année incorrecte !")
continue
nom_monument = input("Entrez le nom du monument on bien RC pour terminer : ")

ancien = min(liste_monuments,default=('',''), key=lambda x: x[1])


recent = max(liste_monuments,default=('',''), key=lambda x: x[1])

print(f"Le monument le plus ancien est {ancien[0]}, construit en {ancien[1]}.")


print(f"Le monument le plus récent est {recent[0]}, construit en {recent[1]}.")
Corrigé Exercice IIV
while a<=b:
print(a)
a+=1

while b>=0:
if b%2==1:
print(b)
b-=1

Vous aimerez peut-être aussi