В принципе, мне нужно проверить, появляется ли определенный шаблон в строке или нет. Если да, то я должен вывести эту строку, иначе нет. Вот мой код:
p = input()
while 1:
line = input()
a=line.find(p)
if a!=-1:
print(line)
if line=='':
break
Этот код кажется хорошим и принимается как правильный ответ. Но есть одна загвоздка. Я получаю ошибку времени выполнения EOFError: EOF при чтении строки, которая игнорируется сайтом тестирования кода.
У меня три вопроса:
Ничего не упускается из виду. Согласно документации input
выдает ошибку EOFError, когда встречает условие конца файла. По сути, input
сообщает вам, что мы закончили, и читать больше нечего. Вы должны ожидать этого исключения, и когда вы его получите, просто вернитесь из вашей функции или завершите программу.
def process_input():
p = input()
while True:
try:
line = input()
except EOFError:
return
a = line.find(p)
if a != -1:
print(line)
if line=='':
return