Pour être certains de bien comprendre, on va reprendre les infos que nous donne la consigne :
1 pixel = 3 octets, on nous demande de calculer le poids en octets d'une image de 1M de pixels, puis de 2M, puis de 3M, etc. jusqu'à 10.
Donc ca veut dire qu'on va répéter les mêmes instructions (une multiplication basique, [tex]nombre\_de\_pixel\times 3[/tex]) et ce 10 fois, donc on sait déjà exactement le nombre de répétitions nécessaires.
Boucles en Python
En Python (comme dans une majorité de langage de programmation), pour répéter une série d'instructions, on utilise les boucles.
Boucle while: une boucle qui va se répéter indéfiniment tant que la condition invoquée n'est pas validée. Par exemple : Envoie moi "Dormir" tant que heure est différent de 7h30. La boucle while est utile parce qu'on ne sait pas exactement quand il sera 7h30.
Boucle for : une boucle qui va se répéter un nombre défini de fois fixé à l'avance. La boucle va compter ses itérations (ses passages) pour savoir quand s'arrêter. Par exemple : Compte jusqu'à 10. On utilise une boucle for i in range(10), ca veut dire "Pour i (= itération) dans une portée de 10", en gros "répéter moi ce qui suit 10 fois", à chaque passage on incrémente (augmente) la valeur de i de 1 puis on passe au tour suivant.
C'est assez complexe d'expliquer les boucles en peu de lignes mais je supposes que tu l'as déjà vu en classe (sinon : tu vas bientôt le voir).
En tout cas j'espère que ces exemples t'ont suffit pour comprendre qu'on va utiliser une boucle for dans cet exercice.
Question 1.
Nous allons utiliser une boucle for qui va répéter les instructions:
poids_image égale nombre de pixel × poids d'un pixel
Afficher le poids en octets de l'image
Passer à l'image d'après
Question 2.
Je vais expliquer ligne par ligne et tu as le code complet sur l'image ci-jointe
▌ poids_pixel = 3 Première chose à faire c'est de créer une variable qui donne le poids en octet d'un pixel
▌ for i in range(1, 11): Là on initie une boucle qui va se répéter dans une portée de 1 à 11, ca veut dire qu'il commence la boucle à i = 1 et s'arrête quand i = 11 (donc le 11ième passage ne sera pas exécuté) Si on avait mis range(10) le code aurait commencé à i = 0, or ce n'est pas ce que demande la consigne.
▌ poids_image = (i*1000000) * poids_pixel On calcule simplement le poids de l'image. A se souvenir : i = le nombre de passages (itérations) qu'on élève au million.
▌ print(f"Poids de l'image en octets avec {i} millions de pixels : {poids_image} octets") On affiche dans la console le poids en octets pour l'image correspondante.
Cette ligne peut aussi être écrite comme ça: ▌ print("Poids de l'image en octets avec", i, "millions de pixels :", poids_image, "octets")
Voilà
J'espère que ces explications t'ont aidé à faire ton devoir mais surtout à le comprendre. Si tu as des questions tu peux les poser en commentaire ;)
Bonne journée !
2 votes Thanks 1
goldroger77
je ne sais pas comment te remercier merci infiniment je t en soit très reconnaissant
Lista de comentários
Verified answer
Bonjour
Explications
Pour être certains de bien comprendre, on va reprendre les infos que nous donne la consigne :
1 pixel = 3 octets, on nous demande de calculer le poids en octets d'une image de 1M de pixels, puis de 2M, puis de 3M, etc. jusqu'à 10.
Donc ca veut dire qu'on va répéter les mêmes instructions (une multiplication basique, [tex]nombre\_de\_pixel\times 3[/tex]) et ce 10 fois, donc on sait déjà exactement le nombre de répétitions nécessaires.
Boucles en Python
En Python (comme dans une majorité de langage de programmation), pour répéter une série d'instructions, on utilise les boucles.
Par exemple : Envoie moi "Dormir" tant que heure est différent de 7h30. La boucle while est utile parce qu'on ne sait pas exactement quand il sera 7h30.
Par exemple : Compte jusqu'à 10. On utilise une boucle for i in range(10), ca veut dire "Pour i (= itération) dans une portée de 10", en gros "répéter moi ce qui suit 10 fois", à chaque passage on incrémente (augmente) la valeur de i de 1 puis on passe au tour suivant.
C'est assez complexe d'expliquer les boucles en peu de lignes mais je supposes que tu l'as déjà vu en classe (sinon : tu vas bientôt le voir).
En tout cas j'espère que ces exemples t'ont suffit pour comprendre qu'on va utiliser une boucle for dans cet exercice.
Question 1.
Nous allons utiliser une boucle for qui va répéter les instructions:
Question 2.
Je vais expliquer ligne par ligne et tu as le code complet sur l'image ci-jointe
▌ poids_pixel = 3
Première chose à faire c'est de créer une variable qui donne le poids en octet d'un pixel
▌ for i in range(1, 11):
Là on initie une boucle qui va se répéter dans une portée de 1 à 11, ca veut dire qu'il commence la boucle à i = 1 et s'arrête quand i = 11 (donc le 11ième passage ne sera pas exécuté)
Si on avait mis range(10) le code aurait commencé à i = 0, or ce n'est pas ce que demande la consigne.
▌ poids_image = (i*1000000) * poids_pixel
On calcule simplement le poids de l'image.
A se souvenir : i = le nombre de passages (itérations) qu'on élève au million.
▌ print(f"Poids de l'image en octets avec {i} millions de pixels : {poids_image} octets")
On affiche dans la console le poids en octets pour l'image correspondante.
Cette ligne peut aussi être écrite comme ça:
▌ print("Poids de l'image en octets avec", i, "millions de pixels :", poids_image, "octets")
Voilà
J'espère que ces explications t'ont aidé à faire ton devoir mais surtout à le comprendre. Si tu as des questions tu peux les poser en commentaire ;)
Bonne journée !