Как добавить строку для проверки отрицательных чисел? - PullRequest
0 голосов
/ 09 марта 2020

Я делаю курс «Автоматизируйте скучные вещи с помощью Python», и есть один этап, на котором у вас есть попытка, кроме кода. Автор утверждает, что вам нужно найти способ добавить строку кода, которая будет распечатывать сообщение, если пользователь вводит отрицательное число. Нигде я не могу найти объяснения, как это сделать. Кто-нибудь может помочь?

Я использую Python 3.8.1 на Windows 10.

print('How many cats do I have?')
numCats = input()
try:
    if int(numCats) >= 4:
        print('That is a lot of cats!')
    else:
        print('That is not that many cats.')
except ValueError:
    print('You did not enter a number.')

Ответы [ 3 ]

0 голосов
/ 09 марта 2020

Это может помочь

print('How many cats do I have?')
numCats = input()
try:
    if int(numCats) >= 4:
        print('That is a lot of cats!')
    elif int(numCats)<0:
        print ('n3gative no.')
    else:
        print('That is not that many cats.')
except ValueError:
    print('You did not enter a number.')
0 голосов
/ 09 марта 2020
print('How many cats do I have?')
numCats = input()
try:
    if int(numCats) >= 4:
        print('That is a lot of cats!')
    elif int(numCats) < 0:
        print("Input is less than zero!")
    else:
        print('That is not that many cats.')
except ValueError:
    print('You did not enter a number.')

Используйте другой оператор if.

Если вы хотите сбросить ошибку при вставке отрицательного числа и запустить код в блоке исключений таким образом, вы можете использовать raise.

Как это:

#...

elif int(numCats) < 0:
    customError = ValueError("Only positive values allowed.")
    raise customError

#...

0 голосов
/ 09 марта 2020

Внутри блока try, после условия if ... Сделайте это

elif int(numCats) < 0:
    print('negative number')
...