In: Computer Science
CIS- Python
(Business: check ISBN-10)
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).
Sample Run 1
Enter the first 9 digits of an ISBN as a string: 3601267
Incorrect input. It must have exact 9 digits
Sample Run 2
Enter the first 9 digits of an ISBN as a string: 013601267
The ISBN-10 number is 0136012671
Sample Run 3
Enter the first 9 digits of an ISBN as a string: 013031997
The ISBN-10 number is 013031997X
If you get a logical or runtime error, please refer https://liangpy.pearsoncmg.com/faq.html.
# Reading input s = input("Enter the first 9 digits of an ISBN-10 as a string: ") if(len(s)==9): # Initializing count to 1 count = 0 # looping through each digit of the input for i in range(1,10): # Counting dx*x for digit dx count += (i*(ord(s[i-1])-ord('0'))) # Calculating the reminder count = count % 11 # If count is less than 10 then appending reminder at the end if(count < 10): s += str(count) # If count is greater than or equals to 10 then appending X at the end else: s += "X" # Printing the final value of s print("The ISBN-10 number is",s) else: print("Incorrect input. It must have exact 9 digits")