Bonjour à tous, j'ai un problème, et je ne sais pas d'où il vient, alors si vous pouviez m'aider ce serait cool
Alors comme vous verrez, Je fais un tri sur mes listes, seulement, python a l'air de considérer que 8 est plus grand que 10...
Mon fichier:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
def getUser(line):
Classement = open('Classement.CJ', 'r')
ligne = Classement.readlines()[line].split("\n")[0]
return ligne
def findUser():
Classement = open('Classement.CJ', 'r')
lignes = Classement.readlines()
nbLignes = len(lignes)
i = 0
liste = []
while i < nbLignes:
liste.append((getUser(i).split(" ")[0],getUser(i).split(" ")[1]))
i = i+1
i = 0
max = 0
while (i) < nbLignes: #Ce doit être d'ici que vient l'erreur
print liste[i][1]
if liste[i][1] >= max:
max = liste[i][1]
i = i+1
print ("----->",max)
findUser()
os.system("pause")
Ce qu'affiche la console
8
7
5
7
8
10
2
('----->', '8')
Appuyez sur une touche pour continuer...
Sinon, vbrandersv, j'ai vu ton code en diagonale, il me semble que tu fais tout plein d'acces inutiles sur ton fichier, tu ne le fermes pas, bref c'est un peu la pagaille. Tu dois structurer les actions que tu fais, et ton code par la meme occasion .
Par exemple, ton fichier gagnerait a etre stocké dans une liste, et etre traité ensuite comme tel.
Tu devrais aussi essayer d'etre un peu plus "pythonique" : acces par iterateurs et non par index, utilisation des fonctions standards telles que max() ou sorted(), au lieu de refaire la roue. Ton code gagnerait en concision et en clarté, et ton programme en vitesse d'execution.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.