Exercices simples pour Apprendre le Python : Différence entre versions

De TravauxIndse
(solutions sur les boucles imbriquées)
 
(46 révisions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
= Exercice sur les entrées/sorties=
+
== 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.
  
== Exercice 1 ==
+
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.
* Interaction :
 
Sortie: afficher le résultat de 652*987
 
  
== Exercice 2 ==
+
===  Les entrées/sorties ===
* Interaction :  
+
Rappels :  
Sortie : afficher le résultat de 712/42 en entier puis en réel (2 résultats à afficher )
+
* pour afficher quelque chose, il faut utiliser le mot clé <nowiki>print()</nowiki> 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 (_).
 +
[[#solutions sur les entrées/sorties]]
  
== Exercice 3 ==
+
Exercices proposés :
* Interaction :
+
# afficher le résultat de '''652*987'''
Entrée : demander son nom à l’utilisateur
+
# afficher le résultat de '''712/42 en entier puis en réel''' (2 résultats à afficher )
 +
# '''demander son nom''' à l’utilisateur --> afficher le nom entré (« vous vous appelez : ... »)
 +
# '''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 »)
 +
# lire un nombre (exemple : 21) -->  afficher le '''double du nombre entré''' (exemple : 42)
 +
# demander l’année de naissance de l'utilisateur (1998) --> afficher son '''âge dans l’année en cours'''
 +
# '''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
 +
# '''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.
 +
[[#solutions sur les entrées/sorties]]
  
Sortie : afficher le nom entré vous vous appelez : ... »)
+
=== Les tests ===
 +
[[#Solutions des exercices sur les tests]]
 +
# négatif : demandez à l'utilisateur d'entrer un nombre et affichez « Vous avez entré un nombre négatif » le cas échéant, rien sinon.
 +
# 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.
 +
## évolution : Même exercice, mais l'utilisateur peut répondre aux question en minuscule ou en majuscule.
 +
# 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.
 +
# somme : Écrire un programme qui demande à l'utilisateur d'entrer deux nombres et affiche la somme de ces nombres.
 +
# pair : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche si ce nombre est pair ou impair.
 +
# 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.
 +
# majeur : Écrire un programme qui demande à l'utilisateur d'entrer son âge et affiche s'il est majeur ou mineur.
 +
# 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.
 +
# plus grand : Écrire un programme qui demande à l'utilisateur d'entrer deux nombres et affiche le plus grand des deux.
 +
# 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).
 +
[[#Solutions des exercices sur les tests]]
  
== Exercice 4 ==
+
=== les boucles ===
 +
[[#Solution des exercices sur les boucles]]
 +
# 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...).
 +
# 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
 +
# 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.
 +
# nombres pairs : Affichez les 30 premiers numéros pairs
 +
# suite nombres simple : demande à l'utilisateur d'entrer un nombre et affiche tous les nombres de 1 à ce nombre.
 +
# suite nombres pairs : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche tous les nombres pairs de 1 à ce nombre.
 +
# suite nombres impairs : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche tous les nombres impairs de 1 à ce nombre.
 +
# 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.
 +
# 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.
 +
# 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.
 +
# 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.
 +
# 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.
 +
# 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.
 +
# nombres premiers : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche tous les nombres premiers de 1 à ce nombre.
 +
# vérification nombre premier : Écrire un programme qui demande à l'utilisateur d'entrer un nombre et affiche si ce nombre est premier ou non.
 +
# 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...).
 +
# demi sapin - afficher un sapin avec des * '''en utilisant des boucles imbriquées'''. Ex.
 +
:: *
 +
:: **
 +
:: ***
 +
:: ****
 +
:: *****
 +
:: ******
 +
[[#Solution des exercices sur les boucles]]
  
* Interaction :
+
=== les boucles imbriquées ===
Entrée :demander son nom et son prénom à l’utilisateur
+
[[# solutions sur les boucles imbriquées]]
(exemple : « Quel est votre nom ? Schoubben Quel est votre Prénom ? François)
+
* 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 sur les boucles imbriquées]]
  
Sortie : afficher “Bonjour + prénom +nom”
+
[[#Top|Haut de la page]]
(exemple : « Bonjour François Schoubben »)
 
  
== Exercice 5 ==
+
== Solutions des exercices ==
  
* Interaction :
+
=== solutions sur les entrées/sorties===
Entrée :lire un nombre (exemple : 21)
+
exercices : [[#Les entrées/sorties]]
 +
*;652*987
 +
première façon:
 +
: x=652*987
 +
: print ("652*=",x)
 +
deuxième façon:
 +
: print(652*987)
 +
*;afficher le résultat de 712/42 en entier puis en réel (2 résultats à afficher )
 +
première façon:
 +
:print ("712/42=", 712/42 )
 +
:print ("712//42=", 712//42 )
 +
deuxième façon:
 +
:x= 712/42
 +
:print(int(x))
 +
:print(float(x))
 +
*;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
 +
*peut se voir raccourci:
 +
:x = int ( input (" saissez un nombre ")
 +
:print (x*2)
 +
:print ("le double vaut: ",x)
 +
*;donner l'âge
 +
:x = input ("saissez votre année de naissance ")
 +
:x = int (x)
 +
:x=2023-x
 +
peux se voir raccourci de la même manière que l'exercice du dessus
 +
: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"
 +
exercices : [[#Les entrées/sorties]]
  
Sortie : afficher le double du nombre entré (exemple : 42)
+
=== Solutions des exercices sur les tests ===
 +
Exercices : [[#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
 +
:print ("Saisissez deux nombres a additionenr")
  
== Exercice 6 ==
+
:x = float ( input ("Premier nombre : "))
 +
:y = float (input ("deuxième nombre : "))
  
* Interaction :
+
:print ("Sollution : ",x+y )
 +
*;pair
  
Entrée : demander l’année de naissance de l'utilisateur (1998)
+
x = input("Saisissez un entier : ")
 +
try:
 +
    x = float (x)
 +
#    print ("réel ok")
 +
    y = int (x)
 +
#    print ("y int :",y)
 +
    if x%2==0 :
 +
        print ("le nombre que vous avez saissi est pair")
 +
    elif x-y!=0 :
 +
      print ("le nombre que vous avez saissi n'est pas un entier")
 +
    else :
 +
        print ("le nombre que vous avez saissi est impair")
 +
except:
 +
    print("[",x,"]","n'est pas un nombre")
  
Sortie :donner son âge dans l’année en cours (2014)
+
*;négatif ou nul
  
== Exercice 7 ==
+
x = input (" saisissez un nombre ")
  
* Variables : h, m, s, secondes
+
x= int (x)
  
* Interaction :
+
if x==0:
  
Entrée : demandez à l'utilisateur d'introduire 3 nombres que vous placerez dans les
+
print (x," est nul")
variables h (heures), m (minutes) et s (secondes).
 
(Exemple : h = 3, m = 25, s = 49)
 
  
Sortie : affichez le résultat à l'utilisateur
+
elif x < 0:
(exemple : 3h 25m 49s correspondent à ((3*60 + 25) * 60) + 49 secondes,
 
et secondes =12349)
 
  
Précautions à prendre: rien (/) on suppose que l'utilisateur ne se trompera pas et qu'il
+
print (x," est négatif")
entrera bien des nombres positifs aux bons endroits
 
  
== Exercice 8 ==
+
else:
  
* Interaction :
+
print (x," est positif")
  
Entrée : Demander à l'utilisateur d'introduire un nombre Que vous placerez dans la variable "t" et qui sera un temps en secondes
+
*;majeur
 +
:
 +
*;voyelle
 +
:
 +
*;plus grand
 +
:
 +
*;réussite
 +
:
 +
Exercices : [[#Les tests]]
  
Sortie : Afficher ce temps en années, jours, heures, minutes et secondes
+
=== Solution des exercices sur les boucles ===
 +
Exercices : [[#les boucles]]
 +
*;bonjourS
  
== Solutions des exercices sur les entrées/sorties ==
+
for i in range (30) :
 +
    print ("je me répète un peu, d'accord, mais je tiens à vous dire bonjour")
  
* Ex 1 :
+
**; évolution
  
x=652*987
+
x = 1
  
print ("652*eprésentera987=",x)
+
for i in range (30) :
 +
    print ("Bonjour ",x)
 +
    x = x+1
  
* Ex 2 :
+
*;table de 7
  
print ("712/42=", 712/42 )
+
x = 1
print ("712//42=", 712//42 )
 
  
* Ex 3 :
+
for i in range (30) :
 +
    print (x,"*7=",x*7,sep="")
 +
    x = x+1
  
x = input ("quel est votre nom ? ")
+
**; table de 42
  
print ("vous vous appellez ",x )
+
x = 1
  
* Ex 4 :
+
for i in range (120) :
 +
    print (x,"*42=",x*42,sep="")
 +
    x = x+1
  
p = input ("quel est votre prénom ? ")
+
*;table de multiplication
n = input ("quel est votre nom ? ")
+
:
 +
*;nombres pairs
  
print ("Bonjour ",p," ",n)
+
x = 0
  
* Ex 5 :
+
for i in range (30) :
 +
    print (x)
 +
    x = x+2
  
x = input ("saissez un nombre ")
+
*;suite nombres simple
x = int (x)
+
:
 +
*;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
 +
:
 +
Exercices : [[#les boucles]]
  
x=2*x
+
=== solutions sur les boucles imbriquées ===
 +
Exercices : [[#les boucles imbriquées]]
 +
*; triangle
 +
  Attention, ceci n'est pas une solution contenant des boucles imbriquées. Elle répond à la question, mais pas à la méthode demandée (et c'est un mauvais exemple de programmation, sans vouloir blesser celui qui l'a créée).
 +
: print("1\n1 2\n1 2 3\n1 2 3 4\n1 2 3 4 5\n1 2 3 4 5 6")
 +
*; demi sapin
 +
  Attention, ceci n'est pas une solution contenant des boucles imbriquées. Elle répond à la question, mais pas à la méthode demandée (et c'est un mauvais exemple de programmation, sans vouloir blesser celui qui l'a créée).
 +
: print("*\n**\n***\n****\n*****\n******")
 +
**; variante
 +
: a=int(input())
 +
  Attention, ceci n'est pas une solution contenant des boucles imbriquées. Elle répond à la question, mais pas à la méthode demandée (et c'est un mauvais exemple de programmation, sans vouloir blesser celui qui l'a créée).
 +
print(a,'\n',a,a,'\n',a,a,a,'\n',a,a,a,a,'\n',a,a,a,a,a,'\n',a,a,a,a,a,a)
 +
*; carré
 +
: pas encore réalisé
 +
*; tables de multiplication
 +
: pas encore réalisé
 +
*; liste de nombres premiers
 +
: pas encore réalisé
 +
*; histogramme
 +
: pas encore réalisé
  
print ("le double vaut: ",x)
+
Exercices : [[#les boucles imbriquées]]
  
* Ex 6 :
+
[[#Top|Haut de la page]]
 
 
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")
 
 
 
* Ex 7 :
 
 
 
h = input (" entrrez un nombre d'heures ")
 
 
 
h = int (h)
 
 
 
m = input (" entrrez 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")
 
 
 
* Ex 8 :
 
 
 
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"
 
 
 
= Exercices sur les boucles =
 
 
 
== Exercice 1 ==
 
 
 
* Interaction :
 
 
 
Entrée : demandez à l'utilisateur d'entrer un nombre ;
 
 
 
Sortie : Affichez « Vous avez entré un nombre négatif » le cas échéant, rien sinon.
 

Version actuelle datée du 20 février 2024 à 10:50

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 (_).

#solutions sur les entrées/sorties

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.

#solutions sur les entrées/sorties

Les tests

#Solutions des exercices sur 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).

#Solutions des exercices sur les tests

les boucles

#Solution des exercices sur 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.
*
**
***
****
*****
******

#Solution des exercices sur les boucles

les boucles imbriquées

# solutions sur 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 sur les boucles imbriquées

Haut de la page

Solutions des exercices

solutions sur les entrées/sorties

exercices : #Les entrées/sorties

  • 652*987

première façon:

x=652*987
print ("652*=",x)

deuxième façon:

print(652*987)
  • afficher le résultat de 712/42 en entier puis en réel (2 résultats à afficher )

première façon:

print ("712/42=", 712/42 )
print ("712//42=", 712//42 )

deuxième façon:

x= 712/42
print(int(x))
print(float(x))
  • 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
  • peut se voir raccourci:
x = int ( input (" saissez un nombre ")
print (x*2)
print ("le double vaut: ",x)
  • donner l'âge
x = input ("saissez votre année de naissance ")
x = int (x)
x=2023-x

peux se voir raccourci de la même manière que l'exercice du dessus

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"

exercices : #Les entrées/sorties

Solutions des exercices sur les tests

Exercices : #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
print ("Saisissez deux nombres a additionenr")
x = float ( input ("Premier nombre : "))
y = float (input ("deuxième nombre : "))
print ("Sollution : ",x+y )
  • pair

x = input("Saisissez un entier : ") try:

   x = float (x)
  1. print ("réel ok")
   y = int (x)
  1. print ("y int :",y)
   if x%2==0 :
       print ("le nombre que vous avez saissi est pair")
   elif x-y!=0 :
      print ("le nombre que vous avez saissi n'est pas un entier")
   else :
       print ("le nombre que vous avez saissi est impair")

except:

   print("[",x,"]","n'est pas un nombre")
  • négatif ou nul

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")

  • majeur
  • voyelle
  • plus grand
  • réussite

Exercices : #Les tests

Solution des exercices sur les boucles

Exercices : #les boucles

  • bonjourS

for i in range (30) :

   print ("je me répète un peu, d'accord, mais je tiens à vous dire bonjour")
    • évolution

x = 1

for i in range (30) :

   print ("Bonjour ",x)
   x = x+1
  • table de 7

x = 1

for i in range (30) :

   print (x,"*7=",x*7,sep="")
   x = x+1
    • table de 42

x = 1

for i in range (120) :

   print (x,"*42=",x*42,sep="")
   x = x+1
  • table de multiplication
:
  • nombres pairs

x = 0

for i in range (30) :

   print (x)
   x = x+2
  • 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
:

Exercices : #les boucles

solutions sur les boucles imbriquées

Exercices : #les boucles imbriquées

  • triangle
 Attention, ceci n'est pas une solution contenant des boucles imbriquées. Elle répond à la question, mais pas à la méthode demandée (et c'est un mauvais exemple de programmation, sans vouloir blesser celui qui l'a créée).
print("1\n1 2\n1 2 3\n1 2 3 4\n1 2 3 4 5\n1 2 3 4 5 6")
  • demi sapin
 Attention, ceci n'est pas une solution contenant des boucles imbriquées. Elle répond à la question, mais pas à la méthode demandée (et c'est un mauvais exemple de programmation, sans vouloir blesser celui qui l'a créée).
print("*\n**\n***\n****\n*****\n******")
    • variante
a=int(input())
 Attention, ceci n'est pas une solution contenant des boucles imbriquées. Elle répond à la question, mais pas à la méthode demandée (et c'est un mauvais exemple de programmation, sans vouloir blesser celui qui l'a créée).

print(a,'\n',a,a,'\n',a,a,a,'\n',a,a,a,a,'\n',a,a,a,a,a,'\n',a,a,a,a,a,a)

  • carré
pas encore réalisé
  • tables de multiplication
pas encore réalisé
  • liste de nombres premiers
pas encore réalisé
  • histogramme
pas encore réalisé

Exercices : #les boucles imbriquées

Haut de la page