2016-06-03 1 views
-1

Ce code devrait écrire dans un fichier.Comment écrire dans un fichier texte au format requis? Je peux seulement atteindre un format

score = [10, 8, 6, 1] 
player = ["Helen", "Erik", "Cydny"] 

scr1 = score[0] 
scr2 = score[1] 
scr3 = score[2] 
scr4 = score[3] 

ply1 = player[0] 
ply2 = player[1] 
ply3 = player[2] 

scr1 = str(scr1) 
scr2 = str(scr2) 
scr3 = str(scr3) 
scr3 = str(scr4) 

ply1 = str(ply1) 
ply2 = str(ply2) 
ply3 = str(ply3) 

to1 = scr1 + " " + ply1 
to2 = scr2 + " " + ply2 
to3 = scr3 + " " + ply3 
to4 = scr4 

test = open("test.txt", "w") 

test.write(str(to1)) 
test.write("\n") 
test.write(str(to2)) 
test.write("\n") 
test.write(str(to3)) 
test.write("\n") 
test.write(str(to4)) 
test.write("\n") 

test.close() 

La sortie dans le fichier texte désigné doit ressembler à ceci.

Helen 10 
Erik 8 
Cydny 6 
1 

À la place, il imprime à ceci. Pourquoi est-ce, et comment puis-je l'obtenir pour reproduire le résultat escompté?

[10, 8, 6, 1] 
["Helen", "Erik", "Cydny"] 

+1

Le code que vous avez posté ne peut pas donner cette sortie. S'il vous plaît poster le bon morceau de code et/ou la bonne sortie. –

Répondre

0

Si vous essayez de garder les noms liés aux scores, vous pouvez utiliser un dictionnaire. Ce serait beaucoup plus facile que de stocker les données dans deux baies indépendantes et vous seriez en mesure de garantir que si vous recherchiez une valeur spécifique, vous l'obtiendriez.

Section 5.5 of Python 3.5 documents - Data structures

Cependant, je ne suis pas vraiment sûr de ce que vous faites avec cette dernière entrée dans la liste des points (le « 1 »). Mais comme Frederic dit, votre code ne donnera pas ce que vous avez montré.