-
-
Save jennyonjourney/e4982d3fedd6c70f1da239f86f1918b7 to your computer and use it in GitHub Desktop.
def computepay(h,r): | |
if h<=40: | |
pay=h*r | |
elif h>40: | |
pay=40*r+(h-40)*r*1.5 | |
return(pay) | |
hrs = input("Enter Hours:") | |
h = float(hrs) | |
rate = input("Enter rate:") | |
r = float(rate) | |
p = computepay(h,r) | |
print(p) |
Why isn't this working? It is literally what Chuck did in the video and it works in my command prompt:
def computepay(hours, rate) :
#print("In computepay", hours, rate)
if hours > 40 :
reg = rate * hours
otp = (hours - 40.0) * (rate * 0.5)
pay = reg + otp
else:
pay = hours * rate
#print("Returning",pay)
return pay
sh = input("Enter Hours: ")
sr = input("Enter Rate: ")
fh = float(sh)
fr = float(sr)
xp = computepay(fh,fr)
print("Pay:",xp)IT WAS THE COLON IN THE FINAL PRINT STATEMENT. I AM GOING TO SLEEP. Whew.
Hmm, right, but along with this, I guess, there's also the indent thing issue here.. But nvm, all's good when the end's good I guess.. :/
def computepay():
hours = float(input("Enter Hours:"))
rate_per_hour = float(input("Enter Rate per hour:"))
if hours>40:
pay=(40_rate_per_hour)+((hours-40)_rate_per_hour_1.5) else :pay=(hours_rate_per_hour)
return payprint("Pay",computepay())
quit()my code above gives the exact answer but the autograder rejects it by telling that you must prompt for the data
Just look for the indent here, I guess. Apart from this, I think the autograder might also be not scanning and coding the double function you've put and typed out there, so yeaah...
Sometimes, "copy and paste" is not working. You need to write all code one-by-one on your IDE.
And sometimes because of the "copy and paste", indent problems come through.
Best wishes guys.
#fixed TR_iamfusta
hrs = input("Enter Hours:")
h = float(hrs)
rate = input("Enter rate:")
r = float(rate)
def computepay(h,r):
if h<=40:
pay=hr
elif h>40:
pay=40*r+(h-40)r1.5
return(pay)
p = computepay(h,r)
print('Pay',p)
def computepay(h, r):
if h <= 40:
pay = h * r
elif h > 40:
pay = (40*r+(h-40)1.5r)
return(pay)
hrs = input("Enter Hours: ")
h = float(hrs)
rate = input("Enter Rate: ")
r = float(rate)
p = computepay(h, r)
print("Pay", p)
quit()
Here's my code:
(Only 9 lines of code plus it's very easy to understand)
def computepay(h, r):
if h <= 40:
return h * r
else:
return (h * r) + ((h-40) * (r/2))
hrs = float(input("Enter Hours: "))
rate = float(input("Enter Rate: "))
p = computepay(hrs, rate)
print("Pay", p)
Have fun! :)
This is perfect code 👍
def computepay(h,r):
if h<=40:
pay=hr
elif h>40:
pay=40r+(h-40)r1.5
return(pay)
hrs = input("Enter Hours:")
h = float(hrs)
rate = input("Enter rate:")
r = float(rate)
p = computepay(h,r)
print("Pay", p)
how can i fix this ?
hrs= input("Enter Hours:")
rates=input("Enter hours:")
h=float(hrs)
r=float(rates)
def computepay(hrs,rates)
if h>=40:
p=(40+(fh-40))r(fr1.5)
else h<=40:
p=hr
return(p)
sp=computepay(h,r)
print ('Pay',p)
pay and over time caculater
def computepay(hours, rates):
if hours <= 40:
print(hours * rates)
else:
print ((hours - 40) * (rates * 1.5) + (40 * rates))
If hours are more than 40, the mean user did over time, and the rate differs from the actual rate. So, first, we count extra hours from 40, then multiply with different rates and then the original hours at the regular rate. Then combine both.
Taking input from user
hours = float(input("Enter hours :"))
rates = float(input("Enter rates :"))
called function
computepay(hours,rates)
Why isn't this working? It is literally what Chuck did in the video and it works in my command prompt:
def computepay(hours, rate) :
#print("In computepay", hours, rate)
if hours > 40 :
reg = rate * hours
otp = (hours - 40.0) * (rate * 0.5)
pay = reg + otp
else:
pay = hours * rate
#print("Returning",pay)
return pay
sh = input("Enter Hours: ")
sr = input("Enter Rate: ")
fh = float(sh)
fr = float(sr)
xp = computepay(fh,fr)
print("Pay:",xp)IT WAS THE COLON IN THE FINAL PRINT STATEMENT. I AM GOING TO SLEEP. Whew.
Thaks for that comment, it was the solution
def computepay(hours, rate):
if hours <= 40:
return hours * rate
else:
overtime_hours = hours - 40
overtime_pay = overtime_hours * (rate * 1.5)
return 40 * rate + overtime_pay
hours = float(input("Enter the number of hours worked: "))
rate = float(input("Enter the rate per hour: "))
gross_pay = computepay(hours, rate)
print("Pay %.2f" % gross_pay)
its works 100%.
def computepay(h,r):
if h<=40:
pay=hr
elif h>40:
pay=40r+(h-40)r1.5
return(pay)
hrs = input("Enter Hours:")
h = float(hrs)
rate = input("Enter rate:")
r = float(rate)
p = computepay(h,r)
print("Pay",p)
This worked for me perfectly, most of the times it has to do with indentations, or Colons or " " improperly placed.
def computepay(h, r):
if hours <= 40:
pay = hours * rate
else:
pay = 40 * rate + (hours - 40) * rate * 1.5
return pay
hours = float(input("Enter hours: "))
rate = float(input("Enter rate per hour: "))
p = computepay(10, 20)
print("Pay", p)
Note: There are indentations in this code: if, else and returned must be aligned; pay, pay must also be aligned. If using python 3, hit the tab key once, which should place if right between f in def and space and c in computepay(h,r): The first pay should be right beneath hours of the if statement. The second pay should be beneath se of the else: and lastly return pay should be in alignment with else: so it should be if hours, else: and return pay aligned correctly and the same for pay by using the space bar in your pc. There two spaces after lines:6 and 10
def computepay(h, r):
if h <= 40:
pay = h * r
elif h > 40:
pay = 40 * r + (h - 40) * r * 1.5
return pay # Corrected indentation
Get user input for hours and rate
hrs = input("Enter Hours: ")
h = float(hrs) # Convert input to float
rate = input("Enter Rate: ")
r = float(rate) # Convert input to float
Calculate pay
p = computepay(h, r)
Print the result
print(p)
Explanation of Changes
Indentation: The return pay statement is now correctly indented to be part of the computepay function.
Input Handling: The input handling remains the same, converting the input strings to floats for calculations.
The only thing I find wrong in this programming code is the "indent" thing, as I think, you totally forgot about using indents and all..