Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please help (PYTHON !!!!!) 1 Part 2: Gradanator This interactive program focuses on if/else statements, input, and returning values. Turn in a file named a2

image text in transcribedimage text in transcribedimage text in transcribed

Please help (PYTHON !!!!!)

1 Part 2: Gradanator This interactive program focuses on if/else statements, input, and returning values. Turn in a file named a2 part2_xxxxxx.py. The program reads as input a student's grades on homework and three exams and uses them to compute the student's course grade. Below is one example log of execution from the program. This program behaves differently depending on the user input; user input is bold and underlined below. Your output should match our examples exactly given the same This program reads exam/homework scores input. (Be mindful of spacing, such as after input prompts and and reports your overall course grade. between output sections.) The program begins with an introduction message that briefly explains the program. The program then reads scores in four categories: midterm 1, midterm 2, homework and final. Each category is weighted: its points are scaled up to a fraction of the 100 percent grade for the course. As the program begins reading each category, it first prompts for the category's weight The user begins by entering scores earned on midterm 1. The program asks whether exam scores were shifted, interpreting an answer of 1 to mean "yes" and 2 to mean "no." If there is a shift, the program prompts for the shift amount, and the shift is added to the user's midterm 1 score. Exam scores are capped at a max of 100; for example, if the user got 95 and there was a shift of 10, the score to use would be 100. The midterm's "weighted score" is printed, which is equal to the user's score multiplied by the exam's weight Next, the program prompts for data about midterm 2 and then about the final. The behavior for each is the same as the behavior for midterm 1. Midterm 1: Weight (0-100)? 10 Score earned? 78 Were scores shIfted (1-yes, 2-no)? 2 Total points-78/100 Weighted score-7.8/10 Midterm 2: Weight (0-100) 10 Score earned? 84 Were scores shTfted (1-yes, 2-no) ? 2 Total points-84/100 Weighted score-8.4/10 Final: Weight (0-100) .30 Score earned? 95 Were scores shiFted (1-yes, 2-no) ? 1 Shiftamount? 10 Total points-T00/100 Weighted score-30.0 30 Homework: Weight (0-100)? 50 Number of assignments? 3 Assignment 1 score? 14 Assignment 1 max? 15 Assiqnment 2 score? 17 Assignment 2 max? 20 Assignment 3 score? 19 Assignment 3 max? 25 How many sections ad you attend? 5 Section points15 34 Total points 65 /94 Weighted score-34.6750 Overall percentage 80. Your grade will be at least: B your custom grade message here >> Next, the user enters information about his/her homework, including the weight and how many assignments were given. For each assignment, the user enters a score and points possible. Use a cumulative sum as described in lecture Part of the homework score comes from sections attended. We will simplify the formula to assume that each section attended is worth 3 points, up to a maximum of 34 points Once the program has read the user information for both exams and homework, it prints the student's overall percentage earned in the course, which is the sum of the weighted scores from the four categories, as shown below: Grade-WeightedMidtermlScore+WeightedMidterm2Score+WeightedFinalExamScre + WeightedHomeworkScoe 78 x1084x10100x 3014+17+19+(10x3)5 x 50 15+20+25+34 Grade 78+8.4+30.0+42.6 Grade = 88.8 The program prints a loose guarantee about a minimum grade the student will get in the course, based on the following scale. See the logs of execution logs.txt to see the expected output for each grade range 90% and above: A: 89.99%-80%; B: 79.99%-70%: C: 69.99%-60%; D; under 60%; F After printing the guaranteed minimum grade, print a custom message of your choice about the grade. This message should be different for each grade range shown above. It should be at least 1 line of any non-offensive text you like. This program processes user input using input. You should handle the following two special cases of input: A student can receive extra credit on an individual assignment, but the total points for homework are capped at the maximum possible. For example, a student can receive a score of 22/20 on one homework assignment, but if their total homework score for all assignments is 63/60, this score should be capped at 60/60. Section points are capped at 34 Cap exam scores at 100. If the raw or shifted exam score exceeds 100, a score of 100 is used Otherwise, you may assume the user enters valid input. When prompted for a value, the user will enter an integer in the proper range. The user wl enter a number of homework assignments 1, and the sum of the four weights will be exactly 100. The weight of each category will be a non-negative number. Exam shifts will be 20 Development Strategy and Hints: Tackle parts of the program (midterm 1, midterm 2, homework, final exam) one at a time, rather than writing the entire program at once. Write a bit of code, get it to run, and test what you have so far. If you try to write large amounts of code without attempting to run it, you may encounter a large list of errors and/or ugs To compute homework scores, you will need to cumulatively sum not only the total points the student has earned, but also the total points possible on all homework assignments Many students get errors because they forget to pass / return a needed value, forget to store a returned value into a variable, and refer to a variable by the wrong name All weighted scores and grades are printed with no more than 1 digit after the decimal point. Achieve this with a custom function or round. The following code prints variable x rounded to the nearest tenth: x1.2345 print("x rounded to the nearest tenth is " + round(x, 1)) # 1.2 Use max and min to constrain numbers to within a particular bound Style Guidelines A major part of this assignment is demonstrating that you understand parameters and return values. Use functions, parameters, and returns for structure and to eliminate redundancy. For fll credit, use at least 4 non-trivial functions other than main You should not have print statements in your main function. Also, main should be a concise summary of the overall program; main should make calls to several of your other functions that implement the majority of the program's behavior. Your functions will need to make appropriate use of parameters and return values. Each function should perform a coherent task and should not do too large a share of the overall work. Avoid lengthy "chaining" of function calls, where each function calls the next, no values are returned, and control does not come back to main This document describes several numbers that are important to the overall program. For full credit, you should make at least one of such numbers into a constant so that the constant could be changed and your program would adapt Some of your code will use conditional execution with if and if/else statements. Part of your grade will come from using these statements properly. Review the portion of lecture 6 and 7 about nested if/else statements and factoring them Give meaningful names to functions and variables, and use proper indentation and whitespace. Follow Python's naming standards as specified in lecture. Localize variables when possible; declare them in the smallest scope needed Include meaningful comment headers at the top of your program and at the start of each function. Limit line lengths to 100 chars

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions