Exercices variés
Certain de ces exercices sont proposés avec un d'essai (test cases).
Chaque test est identifié par la phrase "nomDeLaFonction : pass test" suivi du numéro du test.
A l'execution de votre programme chaque test doit être validé par True.
Exemple : somme : pass test1 --> True indique que le test n°1 est réussi.
Traitement sans machine
Ces exercices se traitent sur papier, sans machine.
✎ 01° On donne le script suivant :
x = 1
n = 5
while n > 1:
x = x * n
k = n - 1
Quelle est la valeur finale de x ?
✎ 02° On donne le script suivant :
x = 0
for i in range(2):
x = x + i
for j in range(3):
x = x + j
Quelle est la valeur finale de x ?
Ecrire des fonctions
Pour ces exercices, vous devez écrire des fonctions.
✎ 03°
# Code à copier dans votre éditeur et à compléter
def somme():
# Jeu d'essai
print("Pass test1 --> ",somme(1,5,7)==13)
print("Pass test2 --> ",int(somme(1.2,-6,5)*10)==2)
✎ 04° Ecrire une fonction plus_grand qui possède deux paramètres, des nombres réels.
Les préconditions : les paramètres a et b sont des nombres réels.
La postcondition : Votre fonction devra renvoyer le plus grand des deux nombres.
✎ 05° Ecrire une fonction plus_grand_bis qui possède trois paramètres, des nombres réels.
Les préconditions : les paramètres a , b et c sont des nombres réels.
La postcondition : Votre fonction devra renvoyer le plus grand des trois nombres.
✎ 06° Ecrire une fonction carré qui prend en paramètre un entier strictement positif k et qui renvoie la somme des k premiers carrés non nuls
✎ 07° Diviseurs
- Ecrire une fonction somme_diviseurs qui prend en paramètre un entier naturel non nul et qui renvoie la somme de ses diviseurs.
- Un entier naturel n est parfait si la la somme de ses diviseurs est égale à 2n.
Ecrire une fonction parfait qui prend en argument un entier naturel non nul et qui renvoie True s'il est parfait False sinon. - Déterminer les nombres parfaits inférieurs à 100 puis les trois premiers nombres parfaits.
✎ 08° Ecrire une fonction jeu qui prend en paramètre un entier n, simule 1000 fois le tirage d'un nombre choisi au hasard parmis les nombres 1, 2, 3, 4, 5, 6 et renvoie le pourcentage de 6 obtenus.
Utiliser la fonction randint du module random : from random import randint
Chaîne de Caractères
✎ 09° Ecrire une fonction double qui prend en argument un mot (type str) et renvoie le mot obtenu en doublant chaque lettre.
Par exemple double("bon")
a pour valeur "bboonn"
✎ 10°
- Ecrire une fonction identique qui prend en argument un mot (type str) et renvoie
True
si le mot commence et se termine par la même lettre etFalse
sinon. - Ecrire une fonction double_identique qui prend en argument deux mots (type str) et renvoie
True
si les deux mots commencent par la même lettre et se terminent par la même lettre etFalse
sinon.
✎ 11°
- Ecrire une fonction occurence qui prend en paramètre une chaine de caractères mot et un caractère c et qui renvoie
True
si c apparaît dans mot, etFalse
sinon.- Par exemple:
occurence("a", "cheval")
renvoieTrue
etoccurence("a", "école")
renvoieFalse
- Modifier la fonction occurence qui au lieu de renvoyer
True
, envoie la première position du caractère c dans la chaîne mot et si le caractère n’est pas présent la fonction renvoie -1.- Par exemple:
occurence("a", "cheval")
renvoie4
etoccurence("a", "école")
renvoie-1
✎ 12°
# Code à copier dans votre éditeur et à compléter
def reverso
# Jeu d'essai
print("Pass test1 --> ",reverso("")=="")
print("Pass test2 --> ",reverso("a")=="a")
print("Pass test3 --> ",reverso("bonjour")=="ruojnob")
print("Pass test4 --> ",reverso("aa")=="aa")
print("Pass test5 --> ",reverso("laval")=="laval")
✎ 13°
True
si le mot passé en paramètre est un palindrome.
# Code à copier dans votre éditeur et à compléter
def palindrome
# Jeu d'essai
print("Pass test1 --> ",palindrome("")==False)
print("Pass test2 --> ",palindrome("a")==True)
print("Pass test3 --> ",palindrome("bonjour")==False)
print("Pass test4 --> ",palindrome("aa")==True)
print("Pass test5 --> ",palindrome("laval")==True)
Activité publiée le 25 09 2023
Auteur : Andjekel