Introdução à programação e aos algoritmos

João Araujo Ribeiro · Capítulo 82 de 103

Páginas do PDF

Introdução à programação e aos algoritmos

6.5 Escrevendo em Arquivos

Escreva um programa que converta a primeira letra de cada palavra de um arquivo

em maiúscula e escreva o resultado na tela.

 

6.5 ESCREVENDO EM ARQUIVOS

Escrever em um arquivo demanda abri-lo anteriormente para escrita ou atualização (‘w’ ou ‘a’). Lembrando que se um arquivo já existente for aberto para escrita seu conteúdo anterior, será totalmente apagado, portanto, cuidado!

Considere o Programa 4.6 que calcula uma tabela de senos e cossenos formatada. Vamos modificá-lo para escrever em um arquivo chamado “tabelaSenosCossenos.txt”.

1 import math

2

3 arquivo = open(‘tabelaSenoCosseno.txt’, ‘w’) 4 arquivo.write (‘{:>9}{:>9}{:>9}

{:>9}’.format(‘Graus’,

5 ‘Radianos’,’Seno’,’Cosseno’)) 6 for graus in range(0,361,30):

7 rad = math.radians(graus)

8 arquivo.write(‘{:>9.2f}{:>9.2f}{:>9.2f} {:>9.2f}’.format(

9 graus, rad, math.sin(rad), math.cos(rad))) 10 arquivo.close()

 

■ Programa 6.16: Programa que cria arquivo com tabela de

senos e cossenos.

 

Qual é o resultado do arquivo? Não muito bom:

Tudo ficou muito bagunçado. A razão é que a função write()

não coloca automaticamente uma nova linha ao final de cada impressão. Você é responsável por isso. Para tanto, basta modificar as linhas 4 e 8 para incluir o caractere de nova linha. Lembra qual é? Isso mesmo: \n. Substitua a linha 4 por:

arquivo.write (‘{:>9}{:>9}{:>9}

{:>9}\n’.format(‘Graus’,

‘Radianos’, ‘Seno’, ‘Cosseno’))

e a linha 8 por:

arquivo.write(‘{:>9.2f}{:>9.2f}{:>9.2f}

{:>9.2f}\n’.format(

graus, rad, math.sin(rad), math.cos(

rad)))

Agora a saída no arquivo fica muito melhor: