sloshy Posté(e) le 10 juin 2005 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
Sentinel Posté(e) le 10 juin 2005 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.
tsubasaleguedin Posté(e) le 10 juin 2005 Posté(e) le 10 juin 2005 """représentation arrondie à .0 ou .5 d'un nombre réel"""
playstation.2.fg Posté(e) le 10 juin 2005 Posté(e) le 10 juin 2005 Pour moi, je ne vois pas d'erreur dans ton code. Peut etre une mauvaise disposition du code.
McFox Posté(e) le 11 juin 2005 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
sloshy Posté(e) le 11 juin 2005 Auteur 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
playstation.2.fg Posté(e) le 11 juin 2005 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)
McFox Posté(e) le 11 juin 2005 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
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.