Exercices simples pour Apprendre le Python

De TravauxIndse
Révision datée du 22 avril 2023 à 17:19 par Francois.schoubben@indse.be (discussion | contributions) (Solution des exercices sur les boucles)

Exercices de base

Voici pas mal d'exercices, tant que vous trouvez que les exercices sont compliqués, continuez à en faire, et n'hésitez pas à les refaire plusieurs fois. Quand ils deviennent évidents, vous pouvez passer à la suite.

Une proposition de réponse se trouve dans les #Solutions des exercices ci-dessous. Les réponses sont proposées par les élèves, il peut rester des erreurs, n'hésitez pas à corriger, ou à en parler dans la page discussions.

Les entrées/sorties

Rappels :

  • pour afficher quelque chose, il faut utiliser le mot clé print() et bien mettre entre parenthèses ce qu'on veut afficher. Une chaine de caractère nécessite des guillemets doubles : "ceci sera affiché comme du texte"
  • une variable est un nom qui est donné à une zone mémoire. Le nom doit commencer par une lettre, et contenir des lettres (maj ou min, de préférence non accentuées), des chiffres, des tirets (-) ou des soulignés (_).

Exercices proposés :

  1. afficher le résultat de 652*987
  2. afficher le résultat de 712/42 en entier puis en réel (2 résultats à afficher )
  3. demander son nom à l’utilisateur --> afficher le nom entré (« vous vous appelez : ... »)
  4. demander son nom et son prénom à l’utilisateur (exemple : « Quel est votre nom ? Schoubben Quel est votre Prénom ? François) --> afficher “Bonjour + prénom +nom” (exemple : « Bonjour François Schoubben »)
  5. lire un nombre (exemple : 21) --> afficher le double du nombre entré (exemple : 42)
  6. demander l’année de naissance de l'utilisateur (1998) --> afficher son âge dans l’année en cours
  7. heures minutes secondes en secondes : demandez à l'utilisateur d'introduire 3 nombres que vous placerez dans les variables h (heures), m (minutes) et s (secondes). (Exemple : h = 3, m = 25, s = 49) et affichez le résultat à l'utilisateur (exemple : 3h 25m 49s correspondent à ((3*60 + 25) * 60) + 49 secondes, et secondes =12349)
    • Remarque : on suppose que l'utilisateur ne se trompera pas et qu'il entrera bien des nombres positifs aux bons endroits
  8. Transformer un nombre de secondes en heures, minutes, secondes : Demander à l'utilisateur d'introduire un nombre Que vous placerez dans la variable "t" et qui sera un temps en secondes. Afficher ce temps en années, jours, heures, minutes et secondes.

Les tests

  1. négatif : demandez à l'utilisateur d'entrer un nombre et affichez « Vous avez entré un nombre négatif » le cas échéant, rien sinon.
  2. genre : demandez à l'utilisateur d'entrer son nom, son prénom et s'il est un homme (oui ou non). Affichez « Bonjour Madame prénom nom » ou « Bonjour Monsieur prénom nom » en fonction de la réponse.
    1. évolution : Même exercice, mais l'utilisateur peut répondre aux question en minuscule ou en majuscule.
  3. civilité : demandez à l'utilisateur d'entrer son nom, son prénom et sa civilité (Mm pour madame, ml pour mademoiselle ou mo pour monsieur). Affichez « Bonjour Madame prénom nom »,« Bonjour Mademoiselle prénom nom » ou « Bonjour Monsieur prénom nom » en fonction de la réponse.
  4. somme : Écrire un programme qui demande à l'utilisateur d'entrer deux nombres et affiche la somme de ces nombres.
  5. pair : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche si ce nombre est pair ou impair.
  6. négatif ou nul : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche si ce nombre est positif, négatif ou nul.
  7. majeur : Écrire un programme qui demande à l'utilisateur d'entrer son âge et affiche s'il est majeur ou mineur.
  8. voyelle : Écrire un programme qui demande à l'utilisateur d'entrer un caractère et affiche s'il s'agit d'une voyelle ou d'une consonne.
  9. plus grand : Écrire un programme qui demande à l'utilisateur d'entrer deux nombres et affiche le plus grand des deux.
  10. réussite : Écrire un programme qui demande à l'utilisateur d'entrer une note et affiche si cette note est un échec (plus petit que la moitié), une réussite (plus que la moitié) ou une mention (plus des 2/3 des points).

les boucles

  1. bonjourS : Affichez 30 fois « je me répète un peu, d'accord, mais je tiens à vous dire bonjour ».
    • évolution : Affichez 30 fois « bonjour » suivi du numéro d'affichage (exemple : bonjour 1, bonjour 2, bonjour 3...).
  2. table de 7 : Affichez les 12 premiers éléments de la table de multiplication de 7
    • table de 42 : Affichez les 120 premiers éléments de la table de multiplication de 42
  3. table de multiplication Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche la table de multiplication de ce nombre jusqu'à 10.
  4. nombres pairs : Affichez les 30 premiers numéros pairs
  5. suite nombres simple : demande à l'utilisateur d'entrer un nombre et affiche tous les nombres de 1 à ce nombre.
  6. suite nombres pairs : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche tous les nombres pairs de 1 à ce nombre.
  7. suite nombres impairs : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche tous les nombres impairs de 1 à ce nombre.
  8. inverser mot : Écrire un programme qui demande à l'utilisateur d'entrer une chaîne de caractères et affiche cette chaîne de caractères à l'envers en utilisant une boucle while.
  9. somme d'une suite : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et calcule la somme de tous les nombres de 1 à ce nombre en utilisant une boucle while.
  10. produit d'une suite : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et calcule le produit de tous les nombres de 1 à ce nombre en utilisant une boucle while.
  11. nombre de voyelles : Écrire un programme qui demande à l'utilisateur d'entrer une chaîne de caractères et affiche le nombre de voyelles dans cette chaîne en utilisant une boucle while.
  12. nombre d'un caractère : Écrire un programme qui demande à l'utilisateur d'entrer une chaîne de caractères, d'un caractère spécifique et affiche le nombre d'occurrences de ce caractère spécifique dans cette chaîne en utilisant une boucle while.
  13. diviseurs : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche tous les diviseurs de ce nombre en utilisant une boucle while.
  14. nombres premiers : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche tous les nombres premiers de 1 à ce nombre.
  15. vérification nombre premier : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche si ce nombre est premier ou non.
  16. palindrome : Écrire un programme qui demande à l'utilisateur d'entrer un mot et affiche si ce mot est un palindrome ou non (c'est-à-dire s'il peut être lu de gauche à droite ou de droite à gauche, ex : kayak, été, rever, bob, ressasser...).
  17. demi sapin - afficher un sapin avec des * en utilisant des boucles imbriquées. Ex.
*
**
***
****
*****
******

les boucles imbriquées

  • triangle : afficher un triangle de numéros en utilisant des boucles imbriquées. Ex.
1
12
123
1234
12345
123456
  • demi sapin - afficher un sapin avec des * en utilisant des boucles imbriquées. Ex.
*
**
***
****
*****
******
    • variante - afficher le sapin complet, en affichant des espaces avant les * en en mettant un nombre impair à chaque fois, (ex. dans le code wiki)<--
*
***
*****
*******
*********
***********

-->

  • carré - demander à l'utilisateur d'entrer un nombre et afficher un carré de ce nombre en utilisant des boucles imbriquées. Ex.
333
333
333
  • tables de multiplication 
    demander à l'utilisateur d'entrer un nombre et afficher tous les nombres de 1 à ce nombre sous forme de table de multiplication (de 1 à 10) en utilisant des boucles imbriquées.
    liste de nombres premiers 
    demander à l'utilisateur d'entrer un nombre et afficher tous les nombres premiers de 1 à ce nombre en utilisant des boucles imbriquées.
    histogramme 
    demander à l'utilisateur d'entrer une chaîne de caractères et afficher un histogramme de la fréquence de chaque caractère en utilisant des boucles imbriquées.

Solutions des exercices

solutions sur les entrées/sorties

  • 652*987
x=652*987
print ("652*=",x)
  • afficher le résultat de 712/42 en entier puis en réel (2 résultats à afficher )
print ("712/42=", 712/42 )
print ("712//42=", 712//42 )
  • demander le nom
x = input ("quel est votre nom ? ")
print ("vous vous appellez ",x )
  • demander nom et prénom
p = input ("quel est votre prénom ? ")
n = input ("quel est votre nom ? ")
print ("Bonjour ",p," ",n)
  • doubler un nombre demandé
x = input ("saissez un nombre ")
x = int (x)
x=2*x
print ("le double vaut: ",x)
  • donner l'âge
x = input ("saissez votre année de naissance ")
x = int (x)
x=2023-x
print ("vous êtes dans l'année de vos ",x," ans")
  • Heures minutes secondes en secondes
h = input (" entrez un nombre d'heures ")
h = int (h)
m = input (" entrez un nombre de minutes ")
m = int (m)
s = input (" entrez un nombre de secondes ")
s = int (s)
print ("cela vaut", (60*h+m)*60+s , "secondes")
  • secondes en années, mois, jours, heures, minutes, secondes
t = input ("entrez un nombre de secondes ")
t= int(t)
a = t// 31536000
t=t-a*31536000
j= t// 86400
t=t-j*86400
h = t// 3600
t=t-h*3600
m = t// 60
t = t-m*60
s = t
print ("cela vaut ",a,"années, ",j,"jours, ",h," heures, ",m," minutes et ",s," secondes"

Solutions des exercices sur les tests

  • négatif ?
x = input (" saisissez un nombre ")
x= int (x)
if x==0:
print (x," est nul")
elif x < 0:
print (x," est négatif")
else:
print (x," est positif")
  • genre ?
g = input ("Etes vous un homme ? ")
g = g.lower()
if g=="oui":
g = ("Monsieur")
else:
g = ("Madamme")
p = input ("quel est votre prénom ? ")
n = input ("quel est votre nom ? ")
print ("Bonjour ",g," ",p," ",n)
  • Civilité
g = input ("Etes vous un homme ? ")
g=g.lower()
if g=="oui":
x = ("Monsieur")
else:
c = input ("Etes vous marié ? ")
c = c.lower()
if c=="oui":
x = ("Madamme")
else :
x = ("Mademoiselle")
p = input ("quel est votre prénom ? ")
n = input ("quel est votre nom ? ")
print ("Bonjour ",x," ",p," ",n)
  • somme
  • pair
  • négatif ou nul
  • majeur
  • voyelle
  • plus grand
  • réussite

solutions sur les boucles imbriquées

  • triangle
  • demi sapin
    • variante
  • carré
333
333
333
  • tables de multiplication
  • liste de nombres premiers
  • histogramme

Solution des exercices sur les boucles

  • bonjourS
:
    • évolution
:
  • table de 7
:
    • table de 42
:
  • table de multiplication
:
  • nombres pairs
:
  • suite nombres simple
:
  • suite nombres pairs
:
  • suite nombres impairs
:
  • inverser mot
:
  • somme d'une suite
:
  • produit d'une suite
:
  • nombre de voyelles
:
  • nombre d'un caractère
:
  • diviseurs
:
  • nombres premiers
:
  • vérification nombre premier
:
  • palindrome
:
  • demi sapin
: