Code qui marche si je le tape ligne par ligne dans la console mais pas si je l'exécute
Bonjour,
j'ai un pb que je trouve vraiment bizarre, j'ai un code qui marche si je l'écris ligne par ligne dans la console, mais si je le copie-colle ou l'exécute directement en appelant le nom du fichier dans le bash il y a des erreurs (différentes qui plus est) :
le code en question :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
notes = open('notes.txt', 'r')
moyennes = open('moyennes.txt', 'w')
dico = {}
for line in notes:
liste = line.split()
for x in range (1, len(liste)):
dico[liste [0]] = dico.get(liste[0], 0) + int(liste[x])
for z in dico: dico[z] = dico[z]/float(len(liste) - 1)
for z in dico:
moyennes.write(z + ' : ' + repr(dico[z]) + '\n')
notes.close()
moyennes.close() |
Quand je copie-colle d'un coup, j'ai l'erreur suivante :
Code:
1 2 3 4 5 6
|
... for z in dico: dico[z] = dico[z]/float(len(liste) - 1)
File "<stdin>", line 5
for z in dico: dico[z] = dico[z]/float(len(liste) - 1)
^
SyntaxError: invalid syntax |
Et quand je l'exécute en appelant le nom du fichier dans le bash, j'ai une erreur encore plus surprenante à la première ligne :
Code:
1 2 3
|
prog.py: ligne 1: Erreur de syntaxe près du symbole inattendu « ( »
prog.py: ligne 1: `notes = open('Bureau/langagesprog/notes.txt', 'r')' |
Merci d'avance à ceux qui prendront le temps de me répondre.