1ère NSI - Notions de base - Boucles - Exercices

Exercice 1 - Compter de 1 à 20 186

Validé !

Corriger le programme suivant afin qu'il affiche les entiers de 1 à 20.

i = 3 while i < 20: print(i) i = i + 2

Exercice 2 - Compter de 20 à 37 95

Validé !

Écrire un programme qui affiche les nombres entiers de 20 à 37.

Exercice 3 - Compter à l'envers 247

Validé !

Écrire un programme qui affiche les nombres entiers de 1 à 15, dans l’ordre décroissant.

Exercice 4 - Nombres pairs 187

Validé !

Écrire un programme qui affiche les nombres pairs de 1 à 100.

Exercice 5 - Compter les "a" 207

Validé !

Écrire une fonction nombreDeA(chaine) qui retourne le nombre de a (minuscule ou majuscule) dans chaine.

>>> nombreDeA("Salut") 1

def nombreDeA(chaine): return 0

Exercice 6 - Compter les chiffres 88

Validé !

Écrire une fonction nombreDeChiffres(motDePasse) qui retourne le nombre de chiffres dans la chaine de caractères motDePasse.

>>> nombreDeChiffres("123MotDePasse123") 6

def nombreDeChiffres(motDePasse): return 0

Exercice 7 - Nombre de 0 77

Validé !

Écrire une fonction nombreZeros(n) qui retourne le nombre de zéros dans l'écriture décimale du nombre entier n.

>>> nombreZeros(2020) 2

On pourra utiliser la fonction str pour transformer un nombre en chaîne de caractères...

def nombreZeros(n): return 0

Exercice 8 - Voyelles masquées 90

Validé !

Écrire une fonction masquerVoyelles(chaine) qui retourne une chaîne de caractères dans laquelle les voyelles de chaine ont été remplacées par *.

>>> masquerVoyelles("salut") 's*l*t'

On commencera par créer une chaîne de caractères vide que l'on complétera avec des lettres de chaine ou des *.

def masquerVoyelles(chaine): chaineRetour = "" # Compléter ici return chaineRetour

Exercice 9 - Lettre compte double 34

Validé !

Écrire une fonction doubler(chaine) qui retourne la chaîne de caractères formée en doublant les lettres de chaine.

>>> doubler("salut") 'ssaalluutt'

def doubler(chaine): return ""

Exercice 10 - Sserpent... 54

Validé !

Écrire une fonction serpent(chaine) qui triple tous les s de chaine.

>>> serpent("salut") 'sssalut'

def serpent(chaine): return ""

Exercice 11 - À l'envers ! 42

Validé !

Écrire une fonction verlan(chaine) qui retourne la chaîne de caractères chaine écrite à l’envers.

>>> verlan("salut") 'tulas'

def verlan(chaine): return ""

Exercice 12 - Un peu de hack... 12

Validé !

Réécrire la fonction fonctionSecrete(chaine) fonctionnant sur le principe suivant :

>>> fonctionSecrete("abc") 'abbccc' >>> fonctionSecrete("test") 'teessstttt' >>< fonctionSecrete("aEiOuY") 'aEEiiiOOOOuuuuuYYYYYY'

Le fonction doit retourner une valeur, et non afficher quelque chose.

def fonctionSecrete(chaine): return ""

Exercice 13 - Somme des entiers 51

Validé !

La somme des entiers de 1 à 10 est $1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55$.

Écrire un programme qui affiche la somme des entiers de 1 à 1000.

Exercice 14 - Somme des carrés impairs 36

Validé !

La somme des carrés des entiers impairs de 1 à 10 est $1^2 + 3^2 + 5^2 + 7^2 + 9^2 = 165$.

Écrire un programme qui affiche la somme des carrés des entiers impairs de 1 à 10000.

Exercice 15 - Nombre de diviseurs 11

Validé !

Écrire une fonction nombreDiviseurs(n) qui retourne le nombre de diviseurs d'un entier n.

>>> nombreDiviseurs(33) # Diviseurs de 33 : 1,3,11 et 33 4 >>> nombreDiviseurs(73) # Diviseurs de 73 : 1 et 73 (73 est un nombre premier) 2

def nombreDiviseurs(n): return 0

Exercice 16 - Nombres premiers 25

Validé !

Un nombre premier est un entier naturel possédant exactement deux diviseurs positifs : 1 et lui même.

Écrire une fonction estPremier(n) qui retourne True si n est premier, et False sinon.

>>> estPremier(33) False >>> estPremier(73) True

def estPremier(n): return True

Exercice 17 - Nombres parfaits 23

Validé !

Un nombre entier $n$ est dit parfait si la somme de ses diviseurs est égale au double de ce nombre.

Écrire une fonction estParfait(n) qui retourne True si n est parfait, et False sinon.

>>> estParfait(28) # Diviseurs : 1, 2, 4, 7, 14, 28 True >>> estParfait(33) # Diviseurs : 1, 3, 11, 33 False

def estParfait(n): return True

Exercice 18 - Conversion décimal -> binaire 40

Validé !

Écrire une fonction dec2bin(n) qui retourne la valeur en binaire du nombre décimal n donné. La valeur de retour doit être une chaîne de caractères, terminée par le caractère "b".

>>> dec2bin(25) '11001b'

def dec2bin(n): return ""

Exercice 19 - Conversion binaire -> décimal 27

Validé !

Écrire une fonction bin2dec(b) qui retourne la valeur décimale du nombre binaire b, donné sous la forme d'une chaîne de caractères terminée par "b". La valeur de retour doit être un entier.

>>> bin2dec("11001b") 25

On pourra s'intéresser à l'algorithme de Hörner...

def bin2dec(b): return 0