CIS 115 Final Project A Ten and Thirteen Digit ISBN Ten digit ISBN

advertisement
CIS 115 Final Project
A Ten and Thirteen Digit ISBN
Ten digit ISBN numbers are created so that the first nine digits are information digits and the last
digit is a check digit. This last number helps people notice and correct mistakes that might be
made in recording the information digits. The same is true for thirteen digit ISBN numbers. Here
is a ten digit ISBN number: 0-13-149498-8. The digit 0 indicates the book is written for Englishspeaking people. The number 13 and the number 149498 identify the publisher and the book
published by that publisher. The last digit, the 8, is the check digit. It was chosen in the following
way: each digit is given a weight by using the digits 1 to 10 and counting left to right. These
weights are added. The sum is:
0(1) + 1(2) +3(3) + 1(4) + 4(5) + 9(6) + 4(7) + 9(8) + 8(9) + __
(The digits of the ISBN information numbers are listed in order from left to right and weighted
by counting up from 1 to 9.) The check digit is chosen to be a number from 0 to 10 so that this
weighted sum is a multiple of 11. That is, the sum must be divisible by 11. (If the check digit
turns out to be 10 then in this case an X is displayed representing the Roman numeral for 10.)
Let us see what sum we have so far with these particular nine information digits:
0(1) + 1(2) +3(3) + 1(4) + 4(5) + 9(6) + 4(7) + 9(8) + 8(9)
= 0 + 2 + 9 + 4 + 20 + 54 + 28 + 72 + 72
= 261
The check digit 8 was chosen because 261 is between 253 and 264 (multiples of 11) and 261 is 8
more than 253. The only possible number from 0 to 10 to use as a check digit is 8. Thus we have:
A ten digit ISBN number: 0-13-149498-8
If you know the ten digit ISBN number you can calculate the thirteen digit ISBN number.
Simply start the thirteen digit ISBN number with 978, then re-calculate the check digit. For
example, 0-13-149498-8 becomes 978-0-13-149498-? Calculating the check digit for the thirteen
digit ISBN number is done differently than for the ten digit ISBN number. Below is the way to
calculate the thirteen digit ISBN check digit.
Note that on a thirteen digit ISBN number the weighted numbers are different:
131313131313
9(1) + 7(3) + 8(1) + 0(3) + 1(1) +3(3) + 1(1) + 4(3) + 9(1) + 4(3) + 9(1) + 8(3) + __
=9 + 21 + 8 + 0 + 1 + 9 + 1 + 12 + 9 + 12 + 9 + 24
=115
Page 1 of 3
CIS 115 Final Project
A Ten and Thirteen Digit ISBN
The sum must be divisible by 10 for a thirteen digit ISBN. The check digit 5 was chosen because
115 divided by 10 is 11 with remainder 5. The remainder is the check digit. Thus we have:
A thirteen digit ISBN number: 978-0-13-149498-5.
Write a python program which displays a simple menu as follows:
Python ISBN Conversion Menu
1.
2.
3.
4.
5.
Verify the check digit of an ISBN-10
Verify the check digit of an ISBN-13
Convert an ISBN-10 to an ISBN-13
Convert an ISBN-13 to an ISBN-10
Exit
Please remember to use what you have learned during the semester such as:

Functions and/or Value Returning Functions

If structures or logic structures IF/Elif/ELSE

Data structures i.e. File input/output

String manipulations i.e. string slicing and lists, etc.

Modules

Loops i.e. WHILE loops or FOR loops

Reading and writing data to a file(s)
Have fun and good luck!
(Rubric on next page)
Page 2 of 3
CIS 115 Final Project
A Ten and Thirteen Digit ISBN
Rubric (Up to 100 points)
(When the assignment is made, the point values below may be modified by the instructor.)
1.
(Up to 28 points) The final program should contain at least 4 functions, one for each
menu item. 7 points for each properly written and called function.
2.
(Up to 12 points) The final program should contain logic structures i.e. IF/Elif/ELSE
or their equivalent. 12 points for more than one properly written logic structure.
3.
(Up to 5 points) Accuracy of menu item 1 - Verify the check digit of an ISBN-10.
4.
(Up to 5 points) Accuracy of menu item 2 - Verify the check digit of an ISBN-13.
5.
(Up to 5 points) Accuracy of menu item 3 - Convert an ISBN-10 to a ISBN-13.
6.
(Up to 5 points) Accuracy of menu item 4 - Convert an ISBN-13 to a ISBN-10.
7.
(Up to 5 points) for properly displaying the Main Menu.
8.
(Up to 5 points) for reading ISBNs from a file.
9.
(Up to 10 points) for storing correct results in a file.
10.
(Up to 20 points) for creativity, imagination, and innovation in creating and
developing your final project. For example you could use the last chapter from the
textbook to learn how to write your final project in the Graphical User Interface (GUI).
Or perhaps you would like to add an additional item to the menu such as a menu item to
print out or display the bar code for the ISBN. Etc.
Page 3 of 3
Download