Рубрики
Без рубрики

EOFERROR: EOF при чтении строки

Так как мы можем видеть на картинках выше, несмотря на то, что выпустив ожидаемый выход, наш тест … Теги с Python, начинающими, вызов, программированием.

Так как мы можем видеть на картинках выше, несмотря на то, что выпустив ожидаемый выход, наш тестовый случай не удается из-за ошибки времени выполнения EOFERROR I.e., Конец ошибки файла Отказ Давайте понять, что такое EOF и как ее решать.

Что такое EOFERROR.

В Python EoFError является исключением, которое повышается при таких функциях, как вход () или RAW_INPUT () в случае возвращаемого файла Python2 (EOF) без чтения какого-либо ввода.

Когда мы можем ожидать EofError

Мы можем ожидать, что EOF в некоторых случаях, которые должны иметь дело с входом ()/RAW_INPUT (), такими как:

  • Код прерывания в выполнении Использование Ctrl + D. Когда входное оператор выполняется, как показано ниже

  • Другим возможным случаем встречи с EOF, когда мы хотим взять некоторые Количество входов от пользователя I.E. мы не знаем точное количество входов; Следовательно, мы запускаем бесконечную петлю для принятия входов, как показано ниже, и получите ошибку трассировки на самом последней итерации нашей бесконечной петли, потому что пользователь не дает никакого ввода в этой итерации

n=int(input())
if(n>=1 and n<=10**5):
    phone_book={}
    for i in range(n):
        feed=input()
        phone_book[feed.split()[0]]=feed.split()[1]
    while True:
        name=input()
        if name in phone_book.keys():
            print(name,end="")
            print("=",end="")
            print(phone_book[name])
        else:
            print("Not found")

Код выше дает EOFERROR, потому что входное утверждение внутри в то время как петля поднимает исключение при последней итерации

Не волнуйтесь, если вы не понимаете код или не получаете контекст кода, это просто решение одного из проблем с заявлениями о HackErrank 30 дней кодовой проблемы, который вы можете захотеть Проверьте Важная часть здесь есть, что я использовал бесконечный цикл, чтобы принять вход, который дал мне ошибку выполнения.

Как решать EofError

Мы можем ловить EOFERROR как любую другую ошибку, используя Try-Blocks, как показано ниже:

try:
    input("Please enter something")
except:
    print("EOF")

Возможно, вы захотите сделать что-то еще вместо того, чтобы просто печатать «EOF» на консоли, такой как:

n=int(input())
if(n>=1 and n<=10**5):
    phone_book={}
    for i in range(n):
        feed=input()
        phone_book[feed.split()[0]]=feed.split()[1]
    while True:
        try:
            name=input()
        except EOFError:
            break
        if name in phone_book.keys():
            print(name,end="")
            print("=",end="")
            print(phone_book[name])
        else:
            print("Not found")

В вышеупомянутый код Python выходит из цикла, если она сталкивается с EofError, и мы проходим наш тестовый случай, проблема, благодаря которой началась эта дискуссия …

Надеюсь, что это полезно, если вы знаете какие-либо другие случаи, когда мы можем ожидать, что EOFERROR, вы можете подумать о комментировании их ниже.

Оригинал: “https://dev.to/rajpansuriya/eoferror-eof-when-reading-a-line-12fe”