« Exercices simples pour Apprendre le Python » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
(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 ( | 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 | ||
# | #* 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 | ||
# 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 | |||
* | |||
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 === | ||
* | # 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. | |||
# 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. | |||
* | |||
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. | ||
== | === les boucles === | ||
# bonjourS | |||
* | #* 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, | |||
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 | |||
== 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 == | == Solution des exercices sur les boucles == | ||
Version du 22 avril 2023 à 10: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 :
- afficher le résultat de 652*987
- 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
- 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
- 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
- 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.
- 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.
- évolution : Même exercice, mais l'utilisateur peut répondre aux question en minuscule ou en majuscule.
- 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
- bonjourS
- Entrée : /
- Sortie : Affichez 30 fois « je me répète un peu, d'accord, mais je tiens à vous dire
bonjour ».
- évolution : Sortie : Affichez 30 fois « bonjour » suivi du numéro d'affichage (exemple : bonjour 1,
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
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)