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

Exercice 1 - Compter de 1 à 20 842

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 567

Validé !

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

Exercice 3 - Compter à l'envers 902

Validé !

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

Exercice 4 - Nombres pairs 682

Validé !

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

Exercice 5 - Compter les "a" 1081

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 485

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 449

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 407

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 = "" for lettre in chaine: if lettre in ...: chaineRetour = chaineRetour + "*" else: chaineRetour = ... return chaineRetour

Exercice 9 - Lettre compte double 204

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... 303

Validé !

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

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

def serpent(chaine): return ""

Exercice 11 - À l'envers ! 199

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... 316

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 291

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 214

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 - Somme des chiffres 66

Validé !

Écrire une fonction sommeChiffres(n) qui retourne la somme des chiffres qui composent le nombre entier n.

>>> sommeChiffres(12345) 15

Vous n'avez pas oublié str et int ?

Exercice 16 - Nombre de diviseurs 144

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 17 - Nombres premiers 190

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 18 - Nombres parfaits 152

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 19 - Conversion décimal -> binaire 117

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 20 - Conversion binaire -> décimal 110

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