Summary: In this project, you will write a program to compute a score of a performer at the show "America's Got Talent" based on input from multiple judges. The user of your program is the boss of this show. You need to let him/her choose the number of judges. It so happens that the judges have varying proficiency; so your program also should let the user (boss of the show) provide a number indicating their proficiency level (the higher the number, the higher their proficiency!). Now it is ShowTime. The performance begins and each judge gives a score. Normally, we would simply add up the scores and average them to tell the performer his overall score. But, since each judge has a different proficiency level, you need to modify their score by multiplying it with their proficiency level and then averaging them out.
Due dates:
For Checkpoint A, you will need to demonstrate a program that does the following:
Except for the talent of the performer, which you can have fun with, your program's spelling, capitalization, and punctuation will need to match the sample output EXACTLY for this project.
Here is some sample input and output. Throughout this specification, sample user input is in italics and underlined. Your program's output is indicated using a fixed-width font.
*** THE ILLUSIONISTS *** How many judges are there? 5 Enter proficiency level of judge 1: 6 Enter the score given by judge 1: 6.5 (Your weighted score is = 39.0) Enter proficiency level of judge 2: 50 Enter the score given by judge 2: 6.025 (Your weighted score is = 301.25) Enter proficiency level of judge 3: 2 Enter the score given by judge 3: 5 (Your weighted score is = 10.0) Enter proficiency level of judge 4: 4 Enter the score given by judge 4: 4.3 (Your weighted score is = 17.2) Enter proficiency level of judge 5: 10 Enter the score given by judge 5: 7 (Your weighted score is = 70.0)
*** BMX STUNT TEAM *** How many judges are there? 2 Enter proficiency level of judge 1: 6 Enter the score given by judge 1: 2 (Your weighted score is = 12.0) Enter proficiency level of judge 2: 1 Enter the score given by judge 2: 15 (Your weighted score is = 15.0)
We will use additional sample inputs to test your program, and so should you.
The only way to get credit for Checkpoint A is to demo it for the course staff during workshop or lab the week of September 14 or earlier. Check the top of the Moodle page for the exact times and locations of workshop and lab.
For Checkpoint B, you will extend your code from Checkpoint A by doing the following::
Here is sample input and output for Checkpoint B. Again, these are just samples; we will test your code using additional inputs.
*** THE ILLUSIONISTS *** How many judges are there? 5 Enter proficiency level of judge 1: 6 Enter the score given by judge 1: 6.5 (Your weighted score is = 39.0) Enter proficiency level of judge 2: 50 --- Overriding level to equal 10 --- Enter the score given by judge 2: 6.025 (Your weighted score is = 60.25) Enter proficiency level of judge 3: 2 Enter the score given by judge 3: 5 (Your weighted score is = 10.0) Enter proficiency level of judge 4: 4 Enter the score given by judge 4: 4.3 (Your weighted score is = 17.2) Enter proficiency level of judge 5: 10 Enter the score given by judge 5: 7 (Your weighted score is = 70.0) Minimum weighted score = 10.0
Maximum weighted score = 70.0
Average of weighted scores = 39.29
*** BMX STUNT TEAM *** How many judges are there? 2 Enter proficiency level of judge 1: 6 Enter the score given by judge 1: 2 (Your weighted score is = 12.0) Enter proficiency level of judge 2: 1 Enter the score given by judge 2: 15 (Your weighted score is = 15.0) Minimum weighted score = 12.0
Maximum weighted score = 15.0
Average of weighted scores = 13.5
*** THE ULTIMATE HEIST *** How many judges are there? 3 Enter proficiency level of judge 1: 7
Enter the score given by judge 1: 8.5
(Your weighted score is = 59.5) Enter proficiency level of judge 2: 4
Enter the score given by judge 2: 8.5
(Your weighted score is = 34.0) Enter proficiency level of judge 3: 15
--- Overriding level to equal 10 ---
Enter the score given by judge 3: 8.5
(Your weighted score is = 85.0) Minimum weighted score = 34.0
Maximum weighted score = 85.0
Average of weighted scores = 59.5
The only way to get credit for Checkpoint B is to demo it for the course staff during workshop or lab the week of Sep. 28 or earlier. Check the top of the Moodle page for the exact times and locations.
In your final code, you will also print out an adjusted average (the average score with the minimum and maximum scores dropped). You will only do this if there are at least 3 scores.
Here is sample input and output for your final code. Again, these are just samples; we will test your code using additional inputs.
*** THE ILLUSIONISTS *** How many judges are there? 5 Enter proficiency level of judge 1: 6 Enter the score given by judge 1: 6.5 (Your weighted score is = 39.0) Enter proficiency level of judge 2: 50 --- Overriding level to equal 10 --- Enter the score given by judge 2: 6.025 (Your weighted score is = 60.25) Enter proficiency level of judge 3: 2 Enter the score given by judge 3: 5 (Your weighted score is = 10.0) Enter proficiency level of judge 4: 4 Enter the score given by judge 4: 4.3 (Your weighted score is = 17.2) Enter proficiency level of judge 5: 10 Enter the score given by judge 5: 7 (Your weighted score is = 70.0) Minimum weighted score = 10.0
Maximum weighted score = 70.0
Average of weighted scores = 39.29 Adjusted average of weighted scores = 38.81666666666666
*** BMX STUNT TEAM *** How many judges are there? 2 Enter proficiency level of judge 1: 6 Enter the score given by judge 1: 2 (Your weighted score is = 12.0) Enter proficiency level of judge 2: 1 Enter the score given by judge 2: 15 (Your weighted score is = 15.0) Minimum weighted score = 12.0
Maximum weighted score = 15.0
Average of weighted scores = 13.5
*** THE ULTIMATE HEIST *** How many judges are there? 3 Enter proficiency level of judge 1: 7
Enter the score given by judge 1: 8.5
(Your weighted score is = 59.5) Enter proficiency level of judge 2: 4
Enter the score given by judge 2: 8.5
(Your weighted score is = 34.0) Enter proficiency level of judge 3: 15
--- Overriding level to equal 10 ---
Enter the score given by judge 3: 8.5
(Your weighted score is = 85.0) Minimum weighted score = 34.0
Maximum weighted score = 85.0
Average of weighted scores = 59.5 Adjusted average of weighted scores = 59.5
There is no demo for your final code. See the end of this specification for submission instructions.
You can get extra credit for checking the user's inputs for errors. For example, you could reject non-numeric inputs, negative numbers of judges, or negative scores.
Be sure you describe any extra-credit work in your docstring.
The most important part of your grade is the correctness of your final program. Your program will be tested numerous times, using different inputs, to be sure that it meets the specification. You will not get full credit for this 55% unless your output matches the sample output exactly for every case, including capitalization and spacing. Attention to detail will pay off on this assignment. A detailed grading sheet for this part of your project is posted here.
In addition to being correct, your program should be easy to understand and well documented. For details, see the grading sheet above.
Your checkpoints are each worth 5 points, as described above. The checkpoints cannot be submitted late.
You should submit your final code on Moodle by the deadline. As a backup, I strongly encourage you to upload a copy to your cwolf directory in case something goes wrong with your submission to Moodle.
Please name your file yourlastnameP1.py, substituting your actual last name (in lowercase) as indicated.
Programming projects must be your own work, and academic misconduct is taken very seriously. You may discuss ideas and approaches with other students and the course staff, but you should work out all details and write up all solutions on your own. The following actions will be penalized as academic dishonesty:
There is a 48-hour grace period associated with the final project deadline. This grace period is designed to cover small personal emergencies and other unexpected events. No other consideration will be given for these small emergencies.