n% онемения может иметь различные значения, в зависимости от типа n и онемения. Если они оба числа, это означает «возьми модуль», который, как я полагаю, и есть то, что ты намереваешься. Если n - это строка, то это означает, что выполняется форматирование%. Если n - это число, а numb - это строка, Python не знает, что делать, и вызывает ошибку TypeError. Вы смотрели на сообщение об ошибке в исключении? В нем должно быть указано «неподдерживаемые типы операндов для%: 'int' и 'str'", что скажет вам все, что вам нужно знать.
Как только вы это исправите, я не думаю, что ваша программа будет делать то, что вы хотите - есть несколько проблем с этим.
1) если ваш поисковый термин находится в первых оцепенелых строках, вы получите исключение при попытке прочитать строки из словаря, которые еще не были вставлены.
2) последний цикл в вашем коде читает следующие оцепенелые строки, но не выполняет их поиск, поэтому пропущены все вхождения поискового запроса.
3) Использование модуля для поддержки буфера строк - это разумно, но есть лучший способ. Посмотрите на класс collection.deque ,