Première NSI

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.

Boucle for

⇩ ⇧ ⤊

Exercices sur la boucle for

Boucle while

⇩ ⇧ ⤊

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 ?

Exercices sur la boucle while

Les conditions

⇩ ⇧ ⤊

Exercices sur les conditions

Ecrire des fonctions

⇩ ⇧ ⤊

correction des exercices

Pour ces exercices, vous devez écrire des fonctions.

Exercices sur les fonctions

Autres exercices sur les fonction

✎ 03° Ecrire une fonction plus_grand 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.

✎ 04° 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

✎ 05° Diviseurs

  1. Ecrire une fonction somme_diviseurs qui prend en paramètre un entier naturel non nul et qui renvoie la somme de ses diviseurs.
  2. 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.
  3. Déterminer les nombres parfaits inférieurs à 100 puis les trois premiers nombres parfaits.

✎ 06° 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

⇩ ⇧ ⤊

✎ 07° 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"

✎ 08°

  1. 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, et False sinon.
      Par exemple: occurence("a", "cheval") renvoie True et occurence("a", "école") renvoie False
  2. 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") renvoie 4 et occurence("a", "école") renvoie -1

✎ 9° Écrire une fonction reverso qui renvoie le mot donné en paramètre à l'envers.


# 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")

✎ 10° Écrire une fonction palindrome utilisant la fonction reverso et qui renvoie 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

Activité modifiée le 28 08 2025
Auteur : Andjekel