Afficher le maximum de la distance sur python

Bonjour,

Pouvez-vous m'aider car je n'arrive pas à afficher le maximum de la distance, s'il vous plait.

Voici le programme:

nbrejour=int(input())
max=0
if nbrejour>0:
    for idistance in range (nbrejour):
        distance=int(input())
        for idistance in range (1):
            liste=[distance for idistance in range (1)]
            max(liste)
            print(max)


Voici l'erreur afficher:

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-2c37862f2e67> in <module>
7 for idistance in range (1):
8 liste=[distance for idistance in range (1)]
----> 9 max(liste)
10 print(max)
11

TypeError: 'int' object is not callable

Je vous remercie d'avance.
Cordialement,

45K

Configuration: Windows / Chrome 87.0.4280.88

5 réponses

  1. Bonjour,

    Plutôt glauque comme code

    max est une fonction et tu as aussi une variable qui s'appelle comme ça ...

    et ces boucles avec idistance, c'est bizarre ...
    1. Ok , d'accord j'ai retirer la variables et la fonction . Du coup, comment je pourrais faire pour afficher le maximum.
      1. Il n'a pas dit qu'il faut la retirer.

        Tu as nommé une variable 'max', il existe déjà une fonction 'max'.
        Tu peux essayer de renommer la variable 'max' en 'maxDistance' par exemple.

        (mon aide s'arrête ici, je ne connais pas le Python mais certains trucs en programmation restent assez universels)
    2. Bonjour,

      C'est ça ...

      Et de plus, il n'en reste pas moins que le reste du code est bizarre

      Il faudrait plutôt que tu nous explique en détails et pas à pas ce que tu veux faire ...
      1. En fait , mon programme doit d'abord lire un entier strictement positif, le nombre de jours de marche effectués jusqu'à présent. Il doit ensuite lire, pour chaque jour, la distance parcourue ce jour-là. Il doit afficher la distance maximale parcourue en une journée.

        Mon programme:

        nbrejour=int(input()) # Il lit l'entier qui correspond au nombre de jour .
        max=0 #Je voulais créer une variable pour prendre la valeur la plus grande.
        if nbrejour>0: #Le programme doit d'abord lire que des entiers strictement positifs.

        for i in range (nbrejour):
        distance=int(input()) # Il lit pour chaque jour la distance parcourue.
        for idistance in range (1): #Je voulais tenter de créer une liste pour pouvoir utiliser
        # la fonction max.

        liste=[distance for idistance in range (1)]
        max(liste)
        print(max)
        1. Une 1ere chose:

          L'indentation étant importante en Python, merci de poster ton code complet avec les balises de code
          mode d'emploi:
          https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

          Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :

          def test():
              print('test')
          
          test()
          


          Ensuite met des questions dans tes input() que l'utilisateur puisse comprendre:

          nbrejour=int(input('Entrez le nombre de jours : ')) 


          max=0 
          : ben non, on vient de te dire que c'est déjà le nom d'une

          fonction Python, renomme-la max_dist, par exemple

          Ensuite, tu dans ta boucle, tu saisis la distance pour chaque jour et tu veux la mettre dans une

          liste : très bien , mais pas besoin de la 2eme boucle, avant la 1ere boucle, il faut initialiser

          distances = []


          et dans la boucle, après la saisie, écrire
          distances.append(distance)


          Enfin, après la boucle, tu n'as plus qu'a appliquer la fonction max() à la liste

          mais regarde d'abord comment l'utiliser sur Internet (ce que tu fais est faux)