Как заставить пользователей вводить только целочисленные значения в программе Python

У меня есть домашнее задание, в котором я очень смущен. Я должен написать программу, позволяющую пользователям вводить количество яиц, которые они покупают. Затем программа сообщит им, сколько ящиков (из шести яиц) они могут заполнить и сколько осталось яиц.

Мне нужно убедиться, что если пользователь вводит не целое значение, будет отображаться сообщение об ошибке. Я не могу понять, как это сделать, и любая помощь будет очень признательна! Это как-то связано с циклами, или я совершенно не прав?

  • Struct.Error, должен быть объект Bytes?
  • Как преобразовать набор последовательностей ДНК в последовательности белка, используя программирование на питоне?
  • Как обнаружить столкновение в pygame?
  • как я могу упаковать coroutine как нормальную функцию в цикле событий?
  • Как получить вызывающее выражение функции в Python?
  • Выход из сопрограммы против выхода из задачи
  • Никаких контуров на бункерах гистограмм Matplotlib или слотов Seaborn
  • Python 3 datetime.fromtimestamp не работает на 1 микросекунду
  • 4 Solutions collect form web for “Как заставить пользователей вводить только целочисленные значения в программе Python”

    Пусть пользователь вводит все, что пожелает, и предупреждает, только если это не целое число:

    try: num = int(input("enter number: ")) except ValueError: print("you must enter an integer") 

    Это питоновский способ сделать это, ведь «проще просить прощения, чем разрешения» .

    [EDIT] Мой комментарий и код действительны только для python 2.x.

    Вопреки другим ответам, вы почти никогда не должны использовать «input ()» при запросе пользователей, а скорее «raw_input ()».

    'input ()' оценивает строку, полученную от пользователя, например, она была частью программы. Это не только проблема безопасности, но и непредсказуема и может вызвать почти любое исключение (например, NameError, если python попытается разрешить букву как имя переменной).

     num = None while num is None: try: num = int(raw_input("Enter an integer: ")) except ValueError: print 'That was not an integer!' affirmations = ('YES', 'Y') answer = raw_input("Do you want to continue? (Yes/Y/y):\n") if answer.strip().upper() in affirmations: continue else: break print num 

    Да, это может быть цикл while, такой как

     while 1: instr = input('Enter an integer') try: val = int(instr) print 'integer entered', val break except ValueError: print instr, ' is not an integer' 
     while True: try: amount=int(input("how many do you want to buy")) break except ValueError: print("Please Enter An Amount") continue else: break 

    Это простой способ заставить пользователя вводить целое число в python 3. Это также может быть сделано для того, чтобы пользователь вводил строку, все, что вам нужно для этого, это просто изменение int( .into str(

    Interesting Posts

    Почему этот код вызывает csv.Error?

    как изменить версию Python по умолчанию на windows xp

    Написание программы для очистки форумов

    Django и динамически генерируемые изображения

    Строки строк C ++ и строковые литералы с использованием регулярного выражения в Python

    Python: присвоение урожая и доходности

    networkx – изменить цвет / ширину в соответствии с атрибутами края – непоследовательный результат

    Сортировка строк в столбце и графе печати

    Когда использование точки с запятой в Python считается «хорошим» или «приемлемым»?

    clang error: неизвестный аргумент: '-mno-fused-madd' (ошибка установки пакета python)

    Как печатать каждую строку скрипта, поскольку она запускается только для запуска сценария верхнего уровня?

    открыть открытый TCP-порт в Python

    Мыло Python с использованием soaplib (сервера) и пены (клиент)

    Как отслеживать blob с помощью OpenCV и Python

    Как распараллеливать вычисления в Python?

    Python - лучший язык программирования в мире.