Для петель, не функционирующих, как я предполагал. (перебирая txt файлы в python) - PullRequest
0 голосов
/ 22 апреля 2020

Итак, я создаю программу, которая должна прочитать каждую строку в текстовом файле с именем 'words' и добавить каждую строку в список. Есть еще один файл .txt, который он читает из файла more_words, который также необходимо добавить в список в каждой строке. Идея состоит в том, что мне нужно сравнивать одну строку за раз из «слов» с каждой строкой в ​​«more_words», чтобы увидеть, сколько строк длиннее, чем первая строка в «словах». Проблема, которая у меня есть, состоит в том, что она всегда сравнивает только первую строку в словах с каждой строкой в ​​more_words Я думаю, что проблема связана с циклами, потому что если 'words' содержит 5 строк, то она будет сравнивать первую строку со всеми строками в 'more_words' 5 раз, не переходя к другим строкам в 'words'. добавьте немного моего кода, потому что это объяснит это лучше:)

for line in words:
        line=line.strip()
        line=line.split()
        for row in more_words:
                count=0
                sentence=row.split()
                if len(sentence) > len(line):
                        count=count+1
print(count)

Я надеюсь, что я ясно дал понять, что я пытаюсь достичь, и, как вы можете видеть, я новичок, когда дело доходит до кодирования , Все документы были открыты как читабельные, но этот код не был включен. Спасибо:)

1 Ответ

0 голосов
/ 22 апреля 2020

Проблема в том, что при переборе more_words вы в конечном итоге исчерпываете файл, и исчерпанный открытый файл больше не читает.

Вместо этого попробуйте преобразовать его в список:

more_words = list(more_words)
for line in words:
    # rest of the code elided.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...