Obtenez des solutions complètes à vos questions avec Zoofast.fr. Obtenez des réponses complètes à toutes vos questions de la part de notre réseau d'experts expérimentés.

bonjour pouvez vous m'aider je n'ai pa compris l'exercice merci d'avance​

Bonjour Pouvez Vous Maider Je Nai Pa Compris Lexercice Merci Davance class=

Sagot :

Bonsoir,

Voici un programme python qui va tester si un nombre est pair ou pas:

def parité(x):

if x%2 == 0:

 return ("pair")

elif x%2 == 1:

 return ("impair")

Le % est en fait l'opération modulo, il perlet dobtenir le reste de la division euclidienne de a par b:

Lorsque tu divises a par 2, si a est pair alors le reste est de 0 et si le reste est impair il sera de 1 car tout nombre impair peut s'écrire sous la forme 2k+1

Néanmoins, si on rentre comme valeur de x = 23.1 alors le programme va planter car il est incapable de faire modulo d'un float

Une solution serait ne pas mettre d'argument et de créer une variable dans ta fonction qui va récupérer un input sous forme de int:

def parité( ):

       x = int ( input (" Valeur  de x? ") )  

if x%2 == 0:

 return ("pair")

elif x%2 == 1:

 return ("impair")

Une solution serait de rajouter la fonction int qui supprime la partie décimale du nombre et le transforme ainsi en <int> donc int(13.2) = 13 et int(13.6) = 13

Une solution du meme genre serait de mettre la fonction round pour arrondir la valeur de x et le transformer en <int> donc round(13.2= 13 et round(13.6) = 14

On aurait une fonction du style:

def parité(x):

if int(x)%2 == 0:

 return ("pair")

elif int(x)%2 == 1:

 return ("impair")

Ou avec un round à la palce du int

Ou bien on peut directement arrondir la valeur de x:

def parité(x):

      x = round(x)

if x%2 == 0:

 return ("pair")

elif x%2 == 1:

 return ("impair")

Bonne soirée