Répondre :
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
Merci d'avoir visité notre site, qui traite de Informatique. Nous espérons que les informations partagées vous ont été utiles. N'hésitez pas à nous contacter si vous avez des questions ou besoin d'assistance. À très bientôt, et pensez à ajouter notre site à vos favoris !