210k views
3 votes
Pythonpython An ISBN-10 (International Standard Book Number) consists of 10 digits: d1d2d3d4d5d6d7d8d9d10. The last digit, d10, is a checksum, which is calculated from the other nine digits using the following formula: (d1 * 1 + d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9) % 11 If the checksum is 10, the last digit is denoted as X according to the ISBN-10 convention. Write a program that prompts the user to enter the first 9 digits and displays the 10-digit ISBN (including leading zeros).

1 Answer

4 votes

Answer:

Written in Python

print("Enter the first 9 digits: ")

d1 = int(input())

d2 = int(input())

d3 = int(input())

d4 = int(input())

d5 = int(input())

d6 = int(input())

d7 = int(input())

d8 = int(input())

d9 = int(input())

d10 = (d1 * 1+ d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9)%11

if d10 == 10:

print(str(d1)+str(d2)+str(d3)+str(d4)+str(d5)+str(d6)+str(d7)+str(d8)+str(d9)+"X")

else:

print(str(d1)+str(d2)+str(d3)+str(d4)+str(d5)+str(d6)+str(d7)+str(d8)+str(d9)+str(d10))

Step-by-step explanation:

This line prompts user for input

print("Enter the first 9 digits: ")

The next 9 line gets the first 9 ISBN digits

d1 = int(input())

d2 = int(input())

d3 = int(input())

d4 = int(input())

d5 = int(input())

d6 = int(input())

d7 = int(input())

d8 = int(input())

d9 = int(input())

This calculates the checksum

d10 = (d1 * 1+ d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9)%11

The if condition prints the ISBN number by replacing the last digit with X if the checksum is 10 else it appends the original digits

if d10 == 10:

print(str(d1)+str(d2)+str(d3)+str(d4)+str(d5)+str(d6)+str(d7)+str(d8)+str(d9)+"X")

else:

print(str(d1)+str(d2)+str(d3)+str(d4)+str(d5)+str(d6)+str(d7)+str(d8)+str(d9)+str(d10))

User Moeen Basra
by
5.2k points