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

De TravauxIndse
(WikiJardinage : restructutration + indentation code par : au lieu de "enters")
Ligne 1 : Ligne 1 :
 
== Exercices de base ==
 
== 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.
  
===  Les entrées/sorties (lire au clavier/afficher) ===
+
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é <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 (_).
 +
Exercices proposés :
 
# afficher le résultat de 652*987
 
# afficher le résultat de 652*987
 
# afficher le résultat de 712/42 en entier puis en réel (2 résultats à afficher )
 
# afficher le résultat de 712/42 en entier puis en réel (2 résultats à afficher )
Ligne 9 : Ligne 16 :
 
# demander l’année de naissance de l'utilisateur (1998) --> afficher son âge dans l’année en cours
 
# demander l’année de naissance de l'utilisateur (1998) --> afficher son âge dans l’année en cours
 
# transformer des heures minutes secondes en nombre de secondes
 
# transformer des heures minutes secondes en nombre de secondes
## nom des Variables : h, m, s, secondes
+
#* nom des Variables : h, m, s, secondes
## Entrées : 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)
+
#* Entrées : 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)
## Sortie : affichez le résultat à l'utilisateur (exemple : 3h 25m 49s correspondent à ((3*60 + 25) * 60) + 49 secondes, et secondes =12349)
+
#* Sortie : 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
+
#* 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
== Exercice 8 ==
+
#* Entrée : Demander à l'utilisateur d'introduire un nombre Que vous placerez dans la variable "t" et qui sera un temps en secondes  
 
+
#* Sortie : Afficher ce temps en années, jours, heures, minutes et secondes
* Interaction :
 
 
 
Entrée : Demander à l'utilisateur d'introduire un nombre Que vous placerez dans la variable "t" et qui sera un temps en secondes  
 
 
 
Sortie : Afficher ce temps en années, jours, heures, minutes et secondes
 
 
 
== Solutions des exercices sur les entrées/sorties ==
 
 
 
* Ex 1 :
 
 
 
x=652*987
 
 
 
print ("652*eprésentera987=",x)
 
 
 
* Ex 2 :
 
 
 
print ("712/42=", 712/42 )
 
print ("712//42=", 712//42 )
 
 
 
* Ex 3 :
 
 
 
x = input ("quel est votre nom ? ")
 
 
 
print ("vous vous appellez ",x )
 
 
 
* Ex 4 :
 
 
 
p = input ("quel est votre prénom ? ")
 
n = input ("quel est votre nom ? ")
 
 
 
print ("Bonjour ",p," ",n)
 
 
 
* Ex 5 :
 
 
 
x = input ("saissez un nombre ")
 
 
 
x = int (x)
 
 
 
x=2*x
 
 
 
print ("le double vaut: ",x)
 
 
 
* Ex 6 :
 
 
 
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.
 
  
== Exercice 2 ==
+
=== Les tests ===
  
* Interaction :
+
# négatif ?
 
+
#* Entrée : demandez à l'utilisateur d'entrer un nombre ;
Entrée : demandez à l'utilisateur d'entrer son nom, son prénom et s'il est un homme (oui
+
#* Sortie : Affichez « Vous avez entré un nombre négatif » le cas échéant, rien sinon.
 +
# genre ?
 +
#* Entrée : demandez à l'utilisateur d'entrer son nom, son prénom et s'il est un homme (oui
 
ou non) ;
 
ou non) ;
 
+
#* Sortie : Affichez « Bonjour Madame prénom nom » ou « Bonjour Monsieur prénom nom »
Sortie : Affichez « Bonjour Madame prénom nom » ou « Bonjour Monsieur prénom nom »
 
 
en fonction de la réponse.
 
en fonction de la réponse.
 
+
## évolution : Même exercice, mais l'utilisateur peut répondre aux question en minuscule ou en majuscule.  
== Exercice 2 évolution ==
+
# civilité
 
+
#* Entrée : demandez à l'utilisateur d'entrer son nom, son prénom et sa civilité (Mm pour
Même exercice, mais l'utilisateur peut répondre aux question en minuscule ou en majuscule.  
 
 
 
== Exercice 3 ==
 
 
 
* Interaction :
 
 
 
Entrée : demandez à l'utilisateur d'entrer son nom, son prénom et sa civilité (Mm pour
 
 
madame, ml pour mademoiselle ou mo pour monsieur) ;
 
madame, ml pour mademoiselle ou mo pour monsieur) ;
 
+
#* Sortie : Affichez « Bonjour Madame prénom nom »,« Bonjour Mademoiselle prénom
 
 
Sortie : Affichez « Bonjour Madame prénom nom »,« Bonjour Mademoiselle prénom
 
 
nom » ou « Bonjour Monsieur prénom nom » en fonction de la réponse.
 
nom » ou « Bonjour Monsieur prénom nom » en fonction de la réponse.
  
== Exercice 4 ==
+
=== les boucles ===
 
+
# bonjourS
* Interaction :
+
#* Entrée : /
 
+
#* Sortie : Affichez 30 fois « je me répète un peu, d'accord, mais je tiens à vous dire
Entrée : /
 
 
 
Sortie : Affichez 30 fois « je me répète un peu, d'accord, mais je tiens à vous dire
 
 
bonjour ».
 
bonjour ».
 
+
## évolution : Sortie : Affichez 30 fois « bonjour » suivi du numéro d'affichage (exemple : bonjour 1,
== Exercice 5 ==
 
 
 
* Interaction :
 
 
 
Entrée : /
 
 
 
Sortie : Affichez 30 fois « bonjour » suivi du numéro d'affichage (exemple : bonjour 1,
 
 
bonjour 2, bonjour 3...).
 
bonjour 2, bonjour 3...).
 +
# table de 7
 +
#* Entrée : /
 +
#* Sortie : Affichez les 12 premiers éléments de la table de multiplication de 7
 +
# table de 42
 +
#* Entrée : /
 +
#* Sortie : Affichez les 120 premiers éléments de la table de multiplication de 42
 +
# nombres pairs
 +
#* Entrée : /
 +
#* Sortie : Affichez les 30 premiers numéros pairs
  
== Exercice 6 ==
 
  
* Interaction :
+
== Solutions des exercices ==
  
Entrée : /
+
=== solutions sur les entrées/sorties===
+
*;Ex1 : 652*987
Sortie : Affichez les 12 premiers éléments de la table de multiplication de 7
+
: x=652*987
 +
: print ("652*=",x)
 +
*;Ex2 : 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 )
 +
*;Ex 3 : demander le nom
 +
:x = input ("quel est votre nom ? ")
 +
:print ("vous vous appellez ",x )
 +
*;Ex 4 : demander nom et prénom
 +
:p = input ("quel est votre prénom ? ")
 +
:n = input ("quel est votre nom ? ")
 +
:print ("Bonjour ",p," ",n)
 +
*;Ex 5 : doubler un nombre demandé
 +
:x = input ("saissez un nombre ")
 +
:x = int (x)
 +
:x=2*x
 +
:print ("le double vaut: ",x)
 +
*;Ex 6 : 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")
 +
*;Ex 7 : 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")
 +
*;Ex 8 : 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"
  
== Exercice 7 ==
+
=== Solutions des exercices sur les tests ===
 
+
*; négatif ?
* Interaction :
+
:x = input (" saisissez un nombre ")
 
+
:x= int (x)
Entrée : /
+
:if x==0:
 
+
::print (x," est nul")
Sortie : Affichez les 120 premiers éléments de la table de multiplication de 42
+
:elif x < 0:
 
+
::    print (x," est négatif")
== Exercice 8 ==  
+
:else:
 
+
::    print (x," est positif")
* Interaction :
+
*; genre ?
 
+
:g = input ("Etes vous un homme ? ")
Entrée : /
+
:g = g.lower()
 
+
:if g=="oui":
Sortie : Affichez les 30 premiers numéros pairs
+
::    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)
  
 
== Solution des exercices sur les boucles ==
 
== Solution des exercices sur les boucles ==
 
* Ex 1 :
 
 
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")
 
 
* Ex 2 :
 
 
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)
 
 
* Ex 3 :
 
 
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)
 

Version du 22 avril 2023 à 11:51

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. transformer des heures minutes secondes en nombre de secondes
    • nom des Variables : h, m, s, secondes
    • Entrées : 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)
    • Sortie : 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
    • Entrée : Demander à l'utilisateur d'introduire un nombre Que vous placerez dans la variable "t" et qui sera un temps en secondes
    • Sortie : Afficher ce temps en années, jours, heures, minutes et secondes

Les tests

  1. négatif ?
    • Entrée : demandez à l'utilisateur d'entrer un nombre ;
    • Sortie : Affichez « Vous avez entré un nombre négatif » le cas échéant, rien sinon.
  2. genre ?
    • Entrée : demandez à l'utilisateur d'entrer son nom, son prénom et s'il est un homme (oui

ou non) ;

    • Sortie : 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.
  1. civilité
    • Entrée : demandez à l'utilisateur d'entrer son nom, son prénom et sa civilité (Mm pour

madame, ml pour mademoiselle ou mo pour monsieur) ;

    • Sortie : Affichez « Bonjour Madame prénom nom »,« Bonjour Mademoiselle prénom

nom » ou « Bonjour Monsieur prénom nom » en fonction de la réponse.

les boucles

  1. bonjourS
    • Entrée : /
    • Sortie : Affichez 30 fois « je me répète un peu, d'accord, mais je tiens à vous dire

bonjour ».

    1. évolution : Sortie : Affichez 30 fois « bonjour » suivi du numéro d'affichage (exemple : bonjour 1,

bonjour 2, bonjour 3...).

  1. table de 7
    • Entrée : /
    • Sortie : Affichez les 12 premiers éléments de la table de multiplication de 7
  2. table de 42
    • Entrée : /
    • Sortie : Affichez les 120 premiers éléments de la table de multiplication de 42
  3. nombres pairs
    • Entrée : /
    • Sortie : Affichez les 30 premiers numéros pairs


Solutions des exercices

solutions sur les entrées/sorties

  • Ex1 
    652*987
x=652*987
print ("652*=",x)
  • Ex2 
    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 )
  • Ex 3 
    demander le nom
x = input ("quel est votre nom ? ")
print ("vous vous appellez ",x )
  • Ex 4 
    demander nom et prénom
p = input ("quel est votre prénom ? ")
n = input ("quel est votre nom ? ")
print ("Bonjour ",p," ",n)
  • Ex 5 
    doubler un nombre demandé
x = input ("saissez un nombre ")
x = int (x)
x=2*x
print ("le double vaut: ",x)
  • Ex 6 
    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")
  • Ex 7 
    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")
  • Ex 8 
    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)

Solution des exercices sur les boucles