Starting from:

$30

Python Voter Registration Application

1 Week 1 Deliverables Overview: In this week, you have set-up your Python Environment. The Lab for this week demonstrates your first use of this environment with a fairly simple Python application. You will also use pylint to verify your code is using professional coding style and standards. Submission requirements include 2 files. (Zipping them into one file is acceptable): • Python Voter Registration Application Code (python code) • Word or PDF file containing your test and pylint results Python Applications for Lab1: (total 100 points): This lab consists of two parts. The first exercise produces a voter registration application asking the user a few simple questions followed by a confirmation of registration, provided the user is eligible. The second part documents your testing and pylint analysis results. 1. Using your Python programming environment, write a Python application that supports voter registration. The application will launch and run from the command line prompt. The application will prompt the user for their first name, last name, age, country of citizenship, state of residence and zipcode. To be a valid registration all fields must be entered. If they are at least 18 years old and a U.S citizen, they can move forward and be prompted for the remaining questions and register to vote. If not, they should not be presented with the additional questions. There should be some error checking logic on the input statements to make sure the age numbers entered seem reasonable (e.g. a person is probably not > 120 years) and states should be 2 letters representing only valid U.S. States. The application should prompt the user for the needed questions to complete the registration and reprompt when data is invalid giving the user the opportunity to retry. The output should summarize the input data and congratulate the user if they are eligible to vote and entered all of the data. The user should be given options to exit the program at any time to cancel the registration process. The following is a possible application interface. Other application interfaces are possible as well. (80 points) **************************************************************** Welcome to the Python Voter Registration Application. Do you want to continue with Voter Registration? Yes. What is your first name? Sally Do you want to continue with the voter Registration? What is your last name? Smith Do you want to continue with the voter Registration? Yes What is your age? 49 Do you want to continue with the voter Registration? 2 Yes Are you a U.S. Citizen? Yes Do you want to continue with the voter Registration? Yes What state do you live? MD Do you want to continue with the voter Registration? Yes What is your zipcode? 21012 Thanks for registering to vote. Here is the information we received: Name (first last): Sally Smith Age: 49 U.S. Citizen: Yes State: MD Zipcode: 21012 Thanks for trying the Voter Registration Application. Your voter registration card should be shipped within 3 weeks. **************************************************************** Hints: 1. Be sure to add logic to test for continuing the registration process. 2. Validate data is valid on entry (e.g. all fields have input data, age seems correct, states seem correct.) 3. Test with many combinations. For example, what happens if you enter invalid data? Exit the application at any point, or aren’t 18 years old? 4. Use comments to document your code 5. Use pylint to verify the code style – the goal is a 10! 2. Document your test results for each application within your programming environment. You should also include and discuss your pylint results for each application. The test document should include a test table that includes the input values, the expected results and the actual results. A screen capture should be included that shows the actual test results of running each test case found in the test table. Be sure to include multiple test cases to provide full coverage for all code. For example, you should demonstrate each set of logic in the code works as expected and every statement in the code is reached through the test cases. (20 points) A possible test table may look like this: Test Case Input Expected Output Actual Output Pass? 1a 1,2,3,4,5,6,7,8,9,10 Sum= 54, Range =9 Sum= 54, Range =9 Yes 1b 2,10,1,11,11,32,42,21,32,23 Sum= 183, Range =41 Sum= 183, Range =41 Yes 3 1c 3,g,e,s,7,12,e,s,x,! Error Error No input validation issue … Include the screen captures support each of the test cases. These are the screen captures validating the actual output for each test case. Any submissions that do not represent work originating from the student will be submitted to the Dean’s office and evaluated for possible academic integrity violations and sanctions.