Выяснить, кроме ValueError - PullRequest
       46

Выяснить, кроме ValueError

0 голосов
/ 29 декабря 2018

Следуя вместе с уроками по питону Аль Суигартса, попытался немного изменить код своей кошки.Я могу правильно ввести «кроме ValueError», используя операторы if и elif, но, используя оператор while, я что-то напутал.Я хочу, чтобы этот простой код повторялся, когда пользователь вводит что-то неправильно, что работает до сих пор.Мне просто нужно вставить что-то, что адрес не является целым числом в качестве входных данных.

Это связано с тем, что операторы break / continue не используются?

print('How many cats do you got')
numCats = int(input())

while numCats < 0:
    print('That is not a valid number')
    print('How many cats do you got')
    numCats = int(input())

if numCats >= 4:
        print('That is a lot of cats')

elif numCats < 4:
    print('That is not a lot of cats')

except ValueError:
    print('That was not a valid number')

Мне бы просто хотелось, чтобыкод для повторения при вводе неверного числа при повторении после нецелого значения.Я не могу пройти за исключением части ValueError, хотя.Спасибо!

1 Ответ

0 голосов
/ 29 декабря 2018

Блок except требует блока try.Исключением является блок try, и, если найдено, выполняется предложение except.

while True:
    try:        
        print('How many cats do you got: ')
        numCats = int(input())
        if numCats >= 0:
            break
        else:
            print('That was not a valid number')
    except ValueError:
        print('That was not a valid number')

if numCats >= 4:
    print('That is a lot of cats')

elif numCats < 4:
    print('That is not a lot of cats')
...