• Как исключить ввод пустой строки?

    Vindicar
    @Vindicar
    RTFM!
    Тебе нужно повторять ввод аргументов, пока пользователь не введёт их правильно? Ну вот и повод почитать про циклы.
    while True:  # бесконечный цикл
      x_str = input('Введите x:')  # вводим число
      try:  # внутри блока try мы будем отлавливать ошибки - исключения
        x = float(x_str)  # пробуем преобразовать строку в число
      except ValueError:  # в случае чего float() выкинет исключение ValueError
        print(x_str, 'это не число. Попробуйте ещё раз.')  # сообщаем пользователю
      else:  # если ошибки не было
        break  #  то прерываем цикл, у нас в x лежит нужное значение
      # мы делаем break только в ветке else - значит, пока отрабатывает ветка except, цикл продолжится

    В принципе, если тебе нужна только одна попытка, ты можешь вытащить блок try-except из цикла, убрать ветку else, и заменить ветку except на что-то типа:
    except ValueError:
      print(x_str, 'это не число. У вас есть ещё одна попытка')  # сообщаем пользователю
      x_str = input('Введите x: ')
      x = float(x_str)

    Тогда получится обойтись без циклов.

    Но без try-except обойтись сложнее. Да, ты можешь предварительно проверить строку на соответствие шаблону десятичного дробного числа, но честно? try-except куда проще, так что стоит его освоить. Главное - не "глотай" ошибки, реагируй на них.
    Ответ написан
    Комментировать
  • Как исключить ввод пустой строки?

    @LanskoyGames
    У модераторов первое место, но только с конца...
    Try/except/else
    Ответ написан
    Комментировать