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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.