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

Exercice 1 - Compter de 1 à 20 1741

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 1090

Validé !

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

Exercice 3 - Compter à l'envers 1760

Validé !

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

Exercice 4 - Nombres pairs 1556

Validé !

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

Exercice 5 - Compter les "a" 2050

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 973

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 820

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 773

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 491

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

Validé !

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

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

def serpent(chaine): return ""

Exercice 11 - À l'envers ! 323

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

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 570

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 412

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 200

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 228

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 314

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 199

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 178

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 178

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