ISBN окончательный поиск цифр

Я работаю в Python 3, и я делаю программу, которая будет принимать 10-значный номер ISBN, и применяю метод для поиска 11-го числа.

Вот мой текущий код

ISBN=input('Please enter the 10 digit number: ')

while len(ISBN)!= 10:

    print('Please make sure you have entered a number which is exactly 10 characters long.')
    ISBN=int(input('Please enter the 10 digit number: '))
    continue


else:

    Digit1=int(ISBN[0])*11
    Digit2=int(ISBN[1])*10
    Digit3=int(ISBN[2])*9
    Digit4=int(ISBN[3])*8
    Digit5=int(ISBN[4])*7
    Digit6=int(ISBN[5])*6
    Digit7=int(ISBN[6])*5
    Digit8=int(ISBN[7])*4
    Digit9=int(ISBN[8])*3
    Digit10=int(ISBN[9])*2
    Sum=(Digit1+Digit2+Digit3+Digit4+Digit5+Digit6+Digit7+Digit8+Digit9+Digit10)
    Mod=Sum%11
    Digit11=11-Mod
    if Digit11==10:
       Digit11='X'
    ISBNNumber=str(ISBN)+str(Digit11)
    print('Your 11 digit ISBN Number is ' + ISBNNumber)

Я хочу создать какой-то цикл, чтобы число после "Digit» поскольку имя переменной увеличивается, начиная с 1 (или с нуля, если это облегчает жизнь), число в квадратных скобках увеличивается, начиная с 0, а число умножения уменьшается с 11 до 2.

Есть ли способ сделать этот код более эффективным способом?

Ответы на вопрос(2)

Ваш ответ на вопрос