Хотя (! EOF ()) эквивалент в Python - PullRequest
0 голосов
/ 19 мая 2018

Я работаю над школьным проектом, и он специально просит какое-то время не конец цикла файла, что я не знаю, как сделать в Python.Я принимаю пользовательский ввод (не из внешнего файла) и вычисляю некоторую математику в этом бесконечном цикле, пока они не нажмут CTRL + C, чтобы разорвать цикл.Любые мысли действительно помогут мне.Я добавил часть инструкции, если это поможет уточнить.Спасибо.

enter image description here

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Предполагается, что ваш цикл останавливается при двух условиях:

  • Введено недопустимое значение, т.е. некоторое значение, которое не может быть преобразовано в float.В этом случае будет повышен ValueError.

  • Вы ввели ctrl-Z, что означает EOF.(Извините, у меня нет Windows, я только что протестировал ее на Linux, где я думаю, что ctrl-D является эквивалентом Windows ctrl-Z).EOFError будет поднят.

Итак, вы должны просто создать бесконечный цикл и выйти из него, когда произойдет одно из этих исключений.

Я отделил обработку исключений, чтобы вы могли видеть, что происходит, и печатать какое-то значимое сообщение об ошибке:

while True:
    try:
        amount = float(input())
        print(amount) # do your stuff here
    except ValueError as err:
        print('Terminating because', err)
        break
    except EOFError:
        print('EOF!')
        break

Если вы просто хотите выйти, не делая ничего больше, вы можете обработатьоба исключения одинаковы:

while True:
    try:
        amount = float(input())
        print(amount) # do your stuff here
    except (ValueError, EOFError):
        break
0 голосов
/ 19 мая 2018

Используйте следующее: -

while True:
    amount = raw_input("Dollar Amount: ")
    try:
        amount = float(amount)
        # do your calculation with amount
        # as per your needs here

    except ValueError:
        print 'Cannot parse'
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...