Question
Printing US postal bar code. Python Language Problem specification: Write a program that asks the user to enter a zip code (in ZIP+4 format) then
Printing US postal bar code. Python Language
Problem specification: Write a program that asks the user to enter a zip code (in ZIP+4 format) then encode the zip code and prints out the barcode (note: this is the old format barcode.)
Challenge (optional): (1) instead of ZIP+4, if a user enters just zip code say 55555, the program will automatically treat it as 55555-0000; (2) implement your own module for the displaying the digits.
Problem background information: The following table shows the encoding for decimal digits. Check sum is (10-sum mod 10).
Digit | 7 4 2 1 0 | Barcode |
0 | 1 1 0 0 0 | |
1 | 0 0 0 1 1 | |
2 | 0 0 1 0 1 | |
3 | 0 0 1 1 0 | |
4 | 0 1 0 0 1 | |
5 | 0 1 0 1 0 | |
6 | 0 1 1 0 0 | |
7 | 1 0 0 0 1 | |
8 | 1 0 0 1 0 | |
9 | 1 0 1 0 0 | |
Start/Stop | 1 |
Example: The ZIP+4 of 55555-1237 yields a check digit of 2 for encoded data of 5555512372 Together with the initial and terminal frame bars, this would be represented as:
Your program should import a digitprint module (see attachment) that has print_zero(), print_one(), print_start_stop() functions (instead of using the given module you can write your own functions to print out the barcode for digits), write a function that reads in a ZIP+4 code and returns a string by removing the character, another function for generating the check sum, and then a main function that completes the project. Dont forget to call the main function to run.
Testing requirements:
- print out the barcode for: 55555-1237 91768-1234 20500-0000
- input 55555 (depends on your program design could display bar code or invalid input)
- input 5AB&7 (invalid input)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started