sloshy Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 salut, toujours pour l'école, je suis sur un scrypt python. j'ai hélas un petit PB avec celui-ci: # Le fichier traité est un fichier <texte> dont chaque ligne contient un nombre réel (sans exposants et encodé sous la forme d'une chaîne de caractères) def arrondir(reel): "représentation arrondie à .0 ou .5 d'un nombre réel" ent = int(reel) # partie entière du nombre fra = reel - ent # partie fractionnaire if fra < .25 : fra = 0 elif fra < .75 : fra = .5 else: fra = 1 return ent + fra fiSource = raw_input("Nom du fichier à traiter : ") fiDest = raw_input("Nom du fichier destinataire : ") fs = open(fiSource, 'r') fd = open(fiDest, 'w') while 1: ligne = fs.readline() if ligne == "" or ligne == "\n": break n = arrondir(float(ligne)) # conversion en <float>, puis arrondi fd.write(str(n) + "\n") # enregistrement fd.close() fs.close() et sitot que je le lance via ma console avec pyython MonScript j'ai "fatal error" le pire c'est que çe me le fais qu'avec ce scrypt et que je vois pas trop de fautes Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 Les "documentation strings" sont normalement à inclure entre triple double-quotes, ton problème vient peut-être de là ? (Enfin c'est juste un coup d'oeil rapide à ton code) Et tu devrais éditer ton message pour indenter le code avec des espaces, ce serait plus lisible. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tsubasaleguedin Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 """représentation arrondie à .0 ou .5 d'un nombre réel""" Lien vers le commentaire Partager sur d’autres sites More sharing options...
playstation.2.fg Posté(e) le 10 juin 2005 Partager Posté(e) le 10 juin 2005 Pour moi, je ne vois pas d'erreur dans ton code. Peut etre une mauvaise disposition du code. Lien vers le commentaire Partager sur d’autres sites More sharing options...
McFox Posté(e) le 11 juin 2005 Partager Posté(e) le 11 juin 2005 Pour moi, je ne vois pas d'erreur dans ton code. Peut etre une mauvaise disposition du code. Je pense aussi, mais c'est louche quand même Lien vers le commentaire Partager sur d’autres sites More sharing options...
sloshy Posté(e) le 11 juin 2005 Auteur Partager Posté(e) le 11 juin 2005 alors, j'ai verifié l'indentation (pas dans le code ici mais donc mon code d'originie) et c'est bon. ensuite, j'ai essayer sous window$ et j'ai une erreur ASCII Lien vers le commentaire Partager sur d’autres sites More sharing options...
playstation.2.fg Posté(e) le 11 juin 2005 Partager Posté(e) le 11 juin 2005 Supprime les caractères spéciaux (é, à, etc...) et réessaye. Ou incère une ligne en début du script avec # -*- coding:Latin-1 -*- Sinon met peut-être à jour ta version de Python (on ne sais jamais) Lien vers le commentaire Partager sur d’autres sites More sharing options...
McFox Posté(e) le 11 juin 2005 Partager Posté(e) le 11 juin 2005 Supprime les caractères spéciaux (é, à, etc...) et réessaye.Ou incère une ligne en début du script avec # -*- coding:Latin-1 -*- Sinon met peut-être à jour ta version de Python (on ne sais jamais) Bien vu, ca devrait marcher Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.