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 ( | + | 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 à 11:51
Sommaire
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)