Anomalie dans un programme

Bonjour,

J'ai un petit problème avec mon code que voici :

def grand3(c1, c2, c3):
    c1 = float(input("c1 = "))
    c2 = float(input("c2 = "))
    c3 = float(input("c3 = "))
    if c1 > c2 and c3:
        return "c1"
    elif c2 > c1 and c3:
        return "c2"
    elif c3 > c1 and c2:
        return "c3"
    else:
        return "il y a un problème"

Il permet d'entrer 3 nombres et de dire quel est le plus grand (et dire s'il y en a au moins 2 pareils).

  • Quand je mets que le premier est le plus grand, ça marche, ainsi que pour le 2eme et l'erreur.
  • Mais quand je mets que c'est le 3eme, il me dit que le 2eme est le plus grand.

Pourquoi ?

merci de votre réponse

4 réponses

  1. Bonjour

    pour tes prochains posts, merci de choisir le forum Python et de mettre en forme ton code comme décrit là https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

    Cette ligne

    if c1 > c2 and c3:

    veut dire si c1 est supérieur à c2 et si c3 existe.

    Idem pour les suivantes.

    Comme c3 et c2 existent toujours, ce qui compte pour le résultat, c'est uniquement la première partie.

    Donc si c2 est supérieur à c1, ça t'affiche c2.


    0
    1. Si je peux me permettre Whismeril,

      Dans le langage courant on dira que c1 est plus grand (ou petit) que c2 et c3, d'où l'erreur.

      En programmation, il faut dire que c1 est plus grand que c2 et c1 est plus grand que c3.

      0
      1. Certes, mais j'espérais que le mettre sur la piste suffirait à ce qu'il trouve la solution par lui même, au moins en recherchant dans son cours.

        On retient mieux ce qui nous à coûté un effort pour l'obtenir que ce qui est tombé tout cuit.

        1
    2. Bonjour,

      Après, est-ce que l'on peut aussi lui suggérer de mettre ses 3 nombres

      dans une liste et d'utiliser la commande qui renvoie le nb maxi de la liste ?

      (déjà pour cette première directive)

      0
      1. Je ne pense pas qu'il en soit arrivé à ce stade dans sa formation.

        1
    3. Hello Golden0579,

      Alors, as-tu de la réussite ?

      0