Trabalhando com múltiplos ficheiros

Podemos abrir múltiplos ficheiros de uma vez e operar neles conjuntamente:

with open('doc1.txt') as d1, open('doc2.txt', 'w') as d2:
    text = d1.read()  # Ler tudo de doc1.txt
    d2.write(text)    # Escrever o conteúdo em doc2.txt
print('Done copying the content')

Aqui, abrimos o doc1.txt com o modo r (leitura) e o doc2.txt com o modo w (escrita). Várias operações open são separadas por uma vírgula. No corpo do bloco with, todos os ficheiros abertos estão acessíveis e podemos realizar diferentes operações neles.

Desafio

Ao desenvolver um sistema de deteção de similaridade, decides comparar dois ficheiros. Queres saber a percentagem de palavras que estão presentes em ambos os ficheiros.

O primeiro ficheiro é source.txt e o segundo é student.txt. Calcula o número de palavras únicas em ambos os ficheiros e imprime a percentagem das palavras únicas em source.txt que também estão presentes em student.txt.

source.txt

student.txt

Saída

Line 1
Line two

Line is important

33.333333

Line 1
Line two
Line 3

Line 1 is important
Yes

50

Explicação do 1º exemplo: Há 3 palavras únicas em source.txt (Line, 1, two). A palavra Line também está presente em student.txt, portanto 33.33333% das palavras de source.txt estão presentes no segundo ficheiro também.

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue