Python : diviseur d'un entier

Publié le 15 mars 2019 il y a 2 mois par jeanmarie.decaillon - Fin › 18 mars 2019 dans 2 mois
1

Sujet du devoir

Bonjour,
mon exercice est :
première partie :
1à à l'aide d'une calculatrice, on a programmé en langage Python la fonction nbdv dont l'argument est un entier nautrel a non nul. (rappel : a%i donne le reste de la division de a par i)
def nbdv(a):
    n=0
    for i in range(1,a+1):
        if a%i==0:
           n=n+1
    return(n)
dans la console Python j'ai mis
>>> nbdv(7)
2

questions :
a) que signifie l'instruction a%i==0?
je dirai qu'il n'y a pas de reste dans la division de a par i

b) que renvoie nbdv(6)?
dans la console j'ai mis nbdv(6) et j'ai un résultat de 4
>>> nbdv(6)
4
>>>
pour moi (mais j'ai un gros doute) a est le nombre que l'on veut diviser mais je ne comprends pas pourquoi un reste de 4

c) que renvoie cette fonction pour un entier a non nul ?
je ne comprends pas (je dirai le reste de la division)

Merci de m'éclaircir pour cette première partie avant d'aller plus loin.




1 commentaire pour ce devoir


zacro
zacro
Posté le 15 mars 2019

bonjour

l'instruction == est un test d'égalité

dans ton programme on teste si a%i egal à zéro

si c'est le cas on incrémente n 

quand tu fais nbdv(7) et le résultat valant 2 car il y a 2 cas ou le test a%i vaut 0 

c'est quand 7%1 et quand 7%7 

pour nbdv(6) il y a bien 4 cas où le test a%i vaut 0

6%1 , 6%2, 6%3 et 6%6

 


Ils ont besoin d'aide !

Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte