-1
I am still finishing a program as work of Project I and I have a lot of difficulty in the part of files. I am unable to insert an array into the file. Does anyone know how to do this?
The program is about Einstein’s game, and has to have the following requirements on the file part:
Option 3: Print a report with history in a text file plays (filled words and positions) in addition to the updated matrix and of the score (number of hits), for each registered player.
The Archive must also contain the average number of moves between players to achieve success (complete the array), as well, which player completed the array with the fewest number of moves and the one with the highest number of moves.
After completion of the report, inform the user the name of the generated text file.
The program for now looks like this: (deletes what is not needed for files, as the result matrix)
arqParcial=open("parcial.txt","w")
arqParcial.write("Relatório de Jogadas: \n")
arqParcial.write("Coluna / Alteração\n")
arqParcial.close()
matriz=[]
for i in range (6):
linha=['-']*6
matriz.append(linha)
matriz[0][0]=':D'
matriz[0][1]='Casa 1'
matriz[0][2]='Casa 2'
matriz[0][3]='Casa 3'
matriz[0][4]='Casa 4'
matriz[0][5]='Casa 5'
matriz[1][0]= '1.Cor'
matriz[2][0]= '2.Nacionalidade'
matriz[3][0]= '3.Bebida'
matriz[4][0]= '4.Cigarro'
matriz[5][0]= '5.Animal'
for i in range(6):
print(matriz[i])
print('')
print('Dicas: \nO Norueguês vive na primeira casa. \nO Inglês vive na casa Vermelha. \nO Sueco tem Cachorros como animais de estimação. \nO Dinamarquês bebe Chá. \nA casa Verde fica do lado esquerdo da casa Branca. \nO homem que vive na casa Verde bebe Café. \nO homem que fuma Pall Mall cria Pássaros. \nO homem que vive na casa Amarela fuma Dunhill. \nO homem que vive na casa do meio bebe Leite. \nO homem que fuma Blends vive ao lado do que tem Gatos. \nO homem que cria Cavalos vive ao lado do que fuma Dunhill. \nO homem que fuma BlueMaster bebe Cerveja. \nO Alemão fuma Prince. \nO Norueguês vive ao lado da casa Azul. \nO homem que fuma Blends é vizinho do que bebe Água.')
print('')
print('OBS: Digite tudo como indicado acima, incluindo os acentos.')
print('')
linha=input('Digite o número correspondente a linha que deseja alterar(1.Cor; 2.Nacionalidade; 3.Bebida; 4.Cigarro; 5.Aninal) ou Desisto ou Acabei: ')
linha=linha.upper()
while linha != 'ACABEI' and linha != 'DESISTO':
linha=int(linha)
coluna=int(input('Digite o número correspondente a coluna que deseja alterar (Casa 1; Casa 2; Casa 3; Casa 4; Casa 5: '))
novo=input('Digite a alteração: ')
novo=novo.lower()
matriz[linha][coluna]=novo
visu=input('Deseja visualizar a tabela (S ou N)? ')
visu=visu.upper()
with open("parcial.txt", "a") as arqParcial:
arqParcial.writelines(str(coluna)+ " / ")
arqParcial.writelines(str(novo)+"\n")
for i in range(6):
arqParcial.writelines(matriz[i])
if visu == 'S':
for i in range(6):
print(matriz[i])
But in that part:
for i in range(6):
arqParcial.writelines(matriz[i])
Makes a mistake. Can someone help me?
Possible duplicate of Error "must be str, not list" while writing to file
– Pablo Almeida
Without the error delay it sometimes becomes difficult to respond. The error message usually also says exactly what is wrong in these cases.
– jsbueno