Ввод является строкой, поэтому вы можете len(input)
перед приведением к целому числу.
Проверка того, что каждый символ является цифрой, может быть выполнена с помощью and input.isdigit
.
* 1006. *
Но подумайте, 007
также является действительным трехзначным числом. Поэтому, если вы хотите, чтобы он был больше, чем 99
, вам также нужна эта проверка.
Для вашего «обновления», что вы хотите «сохранить-сбой», чтобы кто-то был вынужден сделать3-значный ввод:
UserNumber = 0
input = ""
while not (len(input) == 3 and input.isdigit()):
input = raw_input("Enter a 3 digit number: ")
UserNumber = int(input)
print "My name is: xxxxx xxxxx"
print "My UBIT name is: xxxxxxx"
print "The number you entered was %03d." % UserNumber
Пока кто-либо не вводит 3 цифры, появится вопрос для этого ввода.