Posté(e) le 10 juin 200520 a 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 Modifié le 11 juin 200520 a par sloshy
Posté(e) le 10 juin 200520 a 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. Modifié le 10 juin 200520 a par Sentinel
Posté(e) le 10 juin 200520 a Pour moi, je ne vois pas d'erreur dans ton code. Peut etre une mauvaise disposition du code.
Posté(e) le 11 juin 200520 a 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
Posté(e) le 11 juin 200520 a Auteur 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
Posté(e) le 11 juin 200520 a 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)
Posté(e) le 11 juin 200520 a 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
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.