É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 -
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.
A voir également:

3 réponses

[Dal] Messages postés 6373 Statut Contributeur 1 106
 
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

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
2
Reivax962 Messages postés 3742 Statut Membre 1 011
 
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
0
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
0