Sep-01-2019, 06:42 PM
(This post was last modified: Sep-01-2019, 06:53 PM by ichabod801.)
Hello, this is the assignment:
Write a program to prompt the user for hours and rate per hour using input to compute gross pay. Pay should be the normal rate for hours up to 40 and time-and-a-half for the hourly rate for all hours worked above 40 hours. Put the logic to do the computation of pay in a function called computepay() and use the function to do the computation. The function should return a value. Use 45 hours and a rate of 10.50 per hour to test the program (the pay should be 498.75). You should use input to read a string and float() to convert the string to a number. Do not worry about error checking the user input unless you want to - you can assume the user types numbers properly. Do not name your variable sum or use the sum() function.
This is my result (or what I tried):
I don`t get a traceback because this is a leaning tool. But I get this Error message:
Thank you!!
Write a program to prompt the user for hours and rate per hour using input to compute gross pay. Pay should be the normal rate for hours up to 40 and time-and-a-half for the hourly rate for all hours worked above 40 hours. Put the logic to do the computation of pay in a function called computepay() and use the function to do the computation. The function should return a value. Use 45 hours and a rate of 10.50 per hour to test the program (the pay should be 498.75). You should use input to read a string and float() to convert the string to a number. Do not worry about error checking the user input unless you want to - you can assume the user types numbers properly. Do not name your variable sum or use the sum() function.
This is my result (or what I tried):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
hours = input ( "Enter Hours:" ) regular_rate = input ( "Enter Rate:" ) fhours = float (hours) fregular_rate = float (regular_rate) def computepay(hours): overtime_rate = 15.75 fovertime_rate = float (overtime_rate) if hours < 40 : pay = regular_rate * hours elif hours > 40 : regular_pay = 40 * regular_rate overtime_pay = (hours - 40 ) * fovertime_rate pay = regular_pay + overtime_pay return pay p = computepay(hours) print (p) |
Output:TypeError: unsupported operand type(s) for Sub: 'str' and 'int' (the line with overtime_pay = (hours - 40) * fovertime_rate)
What am I doing wrong??Thank you!!