👤

Recevez des conseils d'experts et un soutien communautaire sur FRstudy.me. Bénéficiez de conseils étape par étape pour toutes vos questions techniques, grâce aux membres bien informés de notre communauté.

bonjour je ne comprend pas quelqu'un pourrait m'expliquer​

Bonjour Je Ne Comprend Pas Quelquun Pourrait Mexpliquer class=

Sagot :

Bonsoir,

1) % renvoie le reste d'une division euclidienne donc là n%2 renvoie le reste de n/2 par exemple: 7%2 ça renvoie 1 et 8%2 renvoie 0. Le %2 sert souvent pour vérifier si c'est un nombre pair ou un nombre impair. (divisible par quelque chose)

for k in range(3,n,2), il s'agit d'une boucle "pour" (qui va se répéter plusieurs fois). Mots pour mots: Pour k allant de 3 à n-1 avec un pas de 2.

La fonction range() est définie de la manière suivante: range(start, stop, step)

Start: première valeur de la variable (ici k commence à 3).

Stop: valeur à partir de laquelle la boucle s'arrête (donc quand k = n, donc il exécute quand k = n - 1 mais pas quand k = n ou plus).

Step: il s'agit du pas, donc de combien augment k à la fin de chaque boucle (la valeur par défaut étant 1).

2) Si n = 12:

if n%2 == 0 renvoie True (vrai) car 12 est pair donc en entre dans le if.

Donc ça nous retourne "non".

Si n = 15:

if n%2 == 0 renvoie False (faux)  donc on n'exécute pas ce qu'il y a dans le if.

for k in range(3,15,2):

   if n%k == 0

Si k = 3: 15%3 == 0 donc la fonction retourne "non".

Si n = 23:

if n%2 == 0 renvoie False donc on n'exécute pas ce qu'il y a dans le if.

for k in range(3,23,2):

  if n%k == 0

Si k = 3: 23%3 != (différent) 0

Si k = 5: 23%5 != 0

Si k = 7: 23%7 != 0

Si k = 9: 23%9 != 0

Si k = 11: 23%11 != 0

Si k = 13: 23%13 != 0

Si k = 15: 23%15 != 0

Si k = 17: 23%17 != 0

Si k = 19: 23%19 != 0

Si k = 21: 23%21 != 0

On a atteint k = 23 donc on s'arrête et la fonction nous renvoie "oui".

3) Tu l'auras deviner, cette fonction permet de dire si le nombre n est oui ou non un nombre premier !

Bonne soirée,

Thomas