Итак, моя задача состоит в том, чтобы проверить ввод пользователя для каждой из 10 цифр ISBN, которые он вводит. Мне нужно убедиться, что 1) пользовательский ввод не пуст, 2) пользовательский ввод - это только целое число (что я и сделал) и 3) что они вводят только ОДНУ цифру.
Извините, я видел несколько похожих вопросов по этому поводу, но я хотел сохранить оператор try-except (если возможно), чтобы подобные вопросы не были слишком полезными.
Как я могу проверить против пустых входных данных и что введена только одна цифра?
Вот код:
print("You will be asked to enter an ISBN-10 Number. Please enter it digit by digit.")
ISBN10NumberList = []
ISBN10NumberAdder = 0
for count in range (10):
validInput1 = True
if (count <= 8):
while validInput1 != False:
try:
ISBN10NumberList.append(int(input("Please enter the ISBN digit: ")))
validInput1 = False
except ValueError:
print("That is not a valid input! Please enter a integer only.")
elif (count == 9):
CheckDigit10 = input("Please enter the ISBN digit: ")
print("")
if CheckDigit10 == "X" or CheckDigit10 == "x":
CheckDigit10 = 10
for count in range (0, 9):
ISBN10NumberAdder += int(ISBN10NumberList[count]) * (10 - count)
CheckDigit10 = int(CheckDigit10)
CheckingCheckDigit = 11-(ISBN10NumberAdder % 11)
if (CheckDigit10 == CheckingCheckDigit):
print("This is a valid ISBN!")
else:
print("This is not a valid ISBN!")