Aller au contenu

[python] code erroné (?)

Featured Replies

Posté(e)

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" :incline:

le pire c'est que çe me le fais qu'avec ce scrypt et que je vois pas trop de fautes :chinois:

Modifié par sloshy

Posté(e)

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. :francais:

Modifié par Sentinel

Posté(e)
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)
  • 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)

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)
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.