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

Exercice 1 - Compter de 1 à 20 663

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 463

Validé !

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

Exercice 3 - Compter à l'envers 796

Validé !

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

Exercice 4 - Nombres pairs 574

Validé !

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

Exercice 5 - Compter les "a" 917

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 399

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 383

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 333

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 152

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

Validé !

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

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

def serpent(chaine): return ""

Exercice 11 - À l'envers ! 160

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

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 247

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 176

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 39

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 109

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 158

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 122

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 92

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 98

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