Écrire une fonction qui prend en charge trois nombres et renvoie le plus grand
j.reunion
Messages postés
1
Statut
Membre
-
[Dal] Messages postés 6373 Statut Contributeur -
[Dal] Messages postés 6373 Statut Contributeur -
Bonsoir à tous, j'ai eu un exercice sur laquelle on me demande de : Écrire une fonction qui prend en paramètres trois nombres et renvoie le plus grand des trois nombres.
Je dois le faire sous forme de fonction et j'ai commencer ainsi :
a = int(input("Entrer le premier nombre "))
b = int(input("Entrer le deuxieme nombre "))
c = int(input("Entrer le troisieme nombre "))
a=10
b=20
c=30
if (a>b)and(b>c):
print(a)
if not (b>a)and(b>c):
print(b)
Le problème est que quand j'ai rentrer les trois nombres, il ne se passe plus rien après.
Merci de votre aide.
Je dois le faire sous forme de fonction et j'ai commencer ainsi :
a = int(input("Entrer le premier nombre "))
b = int(input("Entrer le deuxieme nombre "))
c = int(input("Entrer le troisieme nombre "))
a=10
b=20
c=30
if (a>b)and(b>c):
print(a)
if not (b>a)and(b>c):
print(b)
Le problème est que quand j'ai rentrer les trois nombres, il ne se passe plus rien après.
Merci de votre aide.
A voir également:
- Algorithme maximum de 3 nombres
- Ai suite 3 - Télécharger - Optimisation
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama
- Nombre de jours entre deux dates excel - Guide
- Nombre maximum de destinataires dans un mail gmail - Forum Mail
3 réponses
Salut j.reunion,
Juste pour signaler qu'en Python, il serait absurde (en dehors du contexte d'un exercice imposé) de vouloir écrire une telle fonction, puisqu'elle existe déjà dans les fonctions faisant partie du langage :
https://docs.python.org/3/library/functions.html#max
affiche :
Sinon, outre les conseils avisés de mes camarades, je dirais que ton code ne se présente pas sous la forme d'une fonction en Python, et ne répond donc pas au cahier des charges de ce qui t'est demandé.
Pour une présentation simplifiée sur les fonctions dans ce langage, tu peux voir :
https://www.w3schools.com/python/python_functions.asp
Dal
Juste pour signaler qu'en Python, il serait absurde (en dehors du contexte d'un exercice imposé) de vouloir écrire une telle fonction, puisqu'elle existe déjà dans les fonctions faisant partie du langage :
https://docs.python.org/3/library/functions.html#max
print(max(1, 15, 3))
affiche :
15
Sinon, outre les conseils avisés de mes camarades, je dirais que ton code ne se présente pas sous la forme d'une fonction en Python, et ne répond donc pas au cahier des charges de ce qui t'est demandé.
Pour une présentation simplifiée sur les fonctions dans ce langage, tu peux voir :
https://www.w3schools.com/python/python_functions.asp
Dal
Bonjour,
Sans parler des a=10, b=20 et c=30 qui, j'espère, ne sont là que pour les tests, il y a un soucis dans tes if.
- Le premier if suppose que a, b et c sont ordonnés, du coup si a= 30, b=10 et c=20 il est FAUX alors que c'est bien a le plus grand des trois.
- Le deuxième if a un not qui n'a pas de sens ici
- Ton code ne fait rien du tout si c est le plus grand. Et justement, avec c = 30, c'est ce qu'il se passe... Il te manque le cas où c est le plus grand.
Xavier
Sans parler des a=10, b=20 et c=30 qui, j'espère, ne sont là que pour les tests, il y a un soucis dans tes if.
- Le premier if suppose que a, b et c sont ordonnés, du coup si a= 30, b=10 et c=20 il est FAUX alors que c'est bien a le plus grand des trois.
- Le deuxième if a un not qui n'a pas de sens ici
- Ton code ne fait rien du tout si c est le plus grand. Et justement, avec c = 30, c'est ce qu'il se passe... Il te manque le cas où c est le plus grand.
Xavier
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, habituellement, on fait ainsi pour chercher un maximum:
- on utilise une variable supplémentaire, appelons-là "leplusgrand"
- on commence par supposer que le premier nombre, a est le maximum, donc on assigne a à leplusgrand
- on teste si b est plus grand que le maximum, est, si c'est le cas, on assigne b à le plus grand
- on fait de même avec c
- on utilise une variable supplémentaire, appelons-là "leplusgrand"
- on commence par supposer que le premier nombre, a est le maximum, donc on assigne a à leplusgrand
- on teste si b est plus grand que le maximum, est, si c'est le cas, on assigne b à le plus grand
- on fait de même avec c