![]() |
Stuck - need help - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: Stuck - need help (/thread-20830.html) |
Stuck - need help - IvyMae - Sep-01-2019 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): 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)I don`t get a traceback because this is a leaning tool. But I get this Error message: What am I doing wrong??Thank you!! RE: Stuck - need help - ndc85430 - Sep-01-2019 hours is a string. Obviously, you can't use subtraction between a string and an int, so you need to convert that string to a numeric type (like you're doing for the others).
RE: Stuck - need help - IvyMae - Sep-01-2019 now the next error: TypeError: cannot concatenate 'str' and 'float' objects (on line pay = regular_pay + overtime_pay) RE: Stuck - need help - ichabod801 - Sep-01-2019 It's basically the same error. You need to use fregular_rate for your math calculations, it's the variable associated with a number. Note that 'x' * 4 is valid code, but it returns 'xxxx'. So using regular_rate instead of fregular_rate on line 12 is making regular_pay a string. This is the problem with having fregular_rate. You keep confusing it with regular_rate. You don't need the string, so just convert it and keep the same name. RE: Stuck - need help - IvyMae - Sep-01-2019 THANK YOU! I did it! |