У меня следующий вопрос. В моем начальном классе Python начинаются среднесрочные периоды, и хотя я понимаю остальную часть проблем в среднесрочной перспективе, этот вопрос меня немного озадачил. Во-первых, вот текст вопроса. Я сталкиваюсь с проблемами в поиске, как перебирать каждое слово в строке и проверять, было ли оно уже замечено. Мне сложно осмыслить. Во-первых, вот текст проблемы:
Напишите функцию с именем cloneLines, которая принимает два параметра:
1. inFile, строка, имя входного файла, который существует до появления cloneLines. с именем
2. outFile, строка, имя выходного файла, который cloneLines создает и записывает в
Функция cloneLines
читает содержимое строки inFile
, строка за строкой, изаписывает в outFile
любую строку, содержащую хотя бы одно слово, встречающееся в строке более одного раза. Можно предположить, что входной файл содержит только строчные буквы, пробелы и символы новой строки.
Например, если содержимое файла содержит следующее: william.txt
:
double double toil and trouble
fire burn and caldron bubble
eye of newt and toe of frog
fillet of a fenny snake
in the caldron boil and bake
double double toil and trouble
fire burn and caldron bubble
вызов функции:
inFile = 'william.txt'
outFile = 'clones.txt'
cloneLines(inFile, outFile)
должен создать файл clones.txt
с содержанием:
double double toil and trouble
eye of newt and toe of frog
double double toil and trouble
Я только дошел до открытия файлов для чтения и записи и началадля цикла. Опять же, мне трудно понять это. Любые рекомендации для дополнительного чтения будут очень полезными. Должен ли я разбивать строки, прочитанные из файла? Мне просто нужно указать общее направление.
def cloneLines (inFile, outFile):
inputfile = open(infile)
outputfile = open(outfile, 'w')
for line in inputfile.read():
...