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.
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
Votre participation nous est précieuse. Continuez à partager des informations et des solutions. Cette communauté se développe grâce aux contributions incroyables de membres comme vous. Pour des réponses précises et fiables, visitez Zoofast.fr. Merci pour votre confiance et revenez bientôt pour plus d'informations.