Skip to content

Instantly share code, notes, and snippets.

@ZeroRaven
Created March 29, 2019 16:50
Show Gist options
  • Save ZeroRaven/6c82f2c8e2a2dc327f42c9fe858da3c3 to your computer and use it in GitHub Desktop.
Save ZeroRaven/6c82f2c8e2a2dc327f42c9fe858da3c3 to your computer and use it in GitHub Desktop.
4.6 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…
def computepay(h,r):
if h > 40:
p = 1.5 * r * (h - 40) + (40 *r)
else:
p = h * r
return p
hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter rate per hour:")
rphr = float(rphrs)
p = computepay(hr,rphr)
print(p)
@Namita2411
Copy link

def computepay(h,r):
if h > 40:
p = 1.5 * r * (h - 40) + (40 *r)
else:
p = h * r
return p

hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter rate per hour:")
rphr = float(rphrs)

p = computepay(hr,rphr)
print("Pay", p)

100% right compiled and tested
![Screenshot 2020-06-21 at 9 27 34 PM](https://user-images.githubusercontent.com/67234874/85229185-172f4a00-b406-11ea-9c39-02a4d13c48ac

@satishsmse
Copy link

def computepay(h,r) :
if h > 40 :
pay = (1.5 * r * (h - 40) + (40 r))
else :
pay= h
r

return pay

sh = input ("Enter Hours: ")
sr = input ("Enter rate : ")
fh = float(sh)
fr = float(sr)
xp = computepay(fh, fr)
print("Pay",xp)

###Tested at https://www.py4e.com/ and 100% fine.

@mdsaq-hit
Copy link

def computepay(h,r):
if float(h) > 40:
p = 1.5 * float(r) * (float(h) - 40) + (40 *float(r))
else:
p = float(h) * float(r)
return float(p)

hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter rate per hour:")
rphr = float(rphrs)
p = computepay(hrs,rphr)
print("Pay",p)


this code will give you exact result without any error

@Sibucico
Copy link

A bit lengthy, but maybe this might work for you!

`def computepay(hrs, rph):
if hrs <= 40:
p = hrs * rph
else:
y = (hrs - 40.0) * (rph*0.5)
x = hrs * rph
p= x+y
return p

Hours=input("Hours: ")
Rate=input("Rate: ")

try:
hrs= float(Hours)
rph= float(Rate)

except:
print("Please enter the correct input")
quit()

print("Pay", computepay(hrs, rph))`

@denoboi
Copy link

denoboi commented Feb 5, 2021

I did a very different way.

hrs = input("Saati gir pezo: ")
h = float(hrs)
hrt = input("Rate kac:")
r = float(hrt)

def computepay(a, b):
if (a <= 40):
islem = a * b
elif (a > 40):
islem = 40 * b + (a-40)b1.5
return islem

t = computepay (h,r)

print("Pay",t)

@yezz123
Copy link

yezz123 commented Feb 21, 2021

def computepay(h,r):
    if h > 40:
        p = 1.5 * r * (h - 40) + (40 *r)
    else:
        p = h * r
    return p
    
hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter rate per hour:")
rphr = float(rphrs)

p = computepay(hr,rphr)
print("Pay",p)

@nitins235
Copy link

1.5 * r * (h - 40) + (40 *r) from computation , I get different figures , could you please explain how come it gives the 498.75

Put * instead of + between the last two terms

@SaurabhSatsangi
Copy link

def computepay(h,r):
if h > 40:
p = 1.5 * r * (h - 40) + (40 *r)
else:
p = h * r
return p

hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter rate per hour:")
rphr = float(rphrs)

p = computepay(hr,rphr)
print("Pay",p)

@yasersadik
Copy link

h = float(input('Enter Hours: '))
r = float(input('Enter rate: '))
def computepay(h, r):
if h>40 :
g = (h-40)(r1.5)+(40r)
return g
else :
g = h
r
return g
g = computepay(h, r)
print("Pay",g)

@Sanky1010
Copy link

Sanky1010 commented May 30, 2021

image

def computepay(h,r):
if h > 40:
p = 1.5 * r * (h - 40) + (40 *r)
else:
p = h * r
return p

hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter rate per hour:")
rphr = float(rphrs)

p = computepay(hr,rphr)
print("Pay",p)

Note: if you are getting an error, then a simple trick is to align the next line spaces. (for if else, leave 4 spacess like that.. refer image)
100.100% Working. :)

@SandipKurmi
Copy link

git_frist
def computepay(h , r):
if h > 40 :
p = 1.5 * r * (h - 40) + (40 *r)
else :
p = h * r
return p

hrs = input("enter hours")
rat = input("enter rat")
h = float(hrs)
r = float(rat)
p = computepay(h , r)
print ("Pay",p)

@mohameddouma
Copy link

def computepay(h, r):
if h>40:
return 40r +(h-40)r1.5
else:
return h
r

hrs = float(input("Enter Hours:"))
r= float(input("Enter rate per hour:"))
p = computepay(hrs,r)
print("Pay",p)
4 6+

@MohammedSalghi
Copy link

def computepay(h, r):
if h>40:
p= 1.5 * r * (h - 40) + (40 r)
else:
p = h
r
return p

hrs= input ("Enter hours:")
hr = float (hrs)
rat= input ("Enter rate per hour:")
rt = float (rat)

p = computepay(hr,rt)
print("Pay",p)

@shrssj
Copy link

shrssj commented Sep 12, 2021

This is without error!
def computepay(h,r):
if h > 40:
p = 1.5 * r * (h-40) + (40 *r)
else:
p = h * r
return p
hrs = input("Enter Hours:")
h = float(hrs)
rate = input("Enter rate per hour:")
r = float(rate)
p = computepay(h,r)
print("Pay",p)

@Dinks68
Copy link

Dinks68 commented Dec 22, 2021

def computepay(hrs, rate):
if hrs > 40:
p = (hrs - 40) * 1.5 * rate + 40 * rate
else:
p = hrs * rate
return p
h = input("Enter Hours:")
hrs = float(h)
r = input("Enter Rate:")
rate = float(r)
p = computepay(hrs, rate)
print("Pay", p)

@ArijitRoy91
Copy link

def computepay(h, r):
if h> 40:
p= 40r+(h-40)r1.5
else:
p= h
r
return p

hrs = input("Enter Hours:")
hr = float(hrs)
rphs = input("Enter Rate:")
rph = float(rphs)

x = computepay(hr, rph)
print("Pay", x)

@careb36
Copy link

careb36 commented Dec 31, 2021

rate = float(input("Enter Rate of Pay:"))
hrs = int(input("Enter Hours:"))

def computepay(hrs, rate):
hasta_cuarenta = 40*rate
if hrs > 40:
excedente = 1.5 * rate * (hrs - 40)
return hasta_cuarenta + excedente

p = computepay(hrs, rate)
print("Pay", p)

@Manoharseervi1999
Copy link

def computepay(h,r):
if h>40:
reg = r * h
otp = (h-40.0)(r0.5)
p = reg + otp

else:
    p = r * h

return p

hrs = input("enter hours:")
hr = float (hrs)
rphrs = input("enter rate:")
rphr = float(rphrs)

p=computepay(hr,rphr)
print('Pay',p)

@bariskayadelen
Copy link

bariskayadelen commented Jan 21, 2022

# Computepay Function
def computepay(h, r) :
    if h <= 40 :
        p = h * r
    else :
        p = (40 * r) + ((h - 40) * r * 1.5)
    return p

# Check input hours
sh = input('Enter Hours: ')
try :
    fh = float(sh)
except :
    print('Error, please enter numeric input')
    quit()

# Check input rate
sr = input('Enter Rate: ')
try :
    fr = float(sr)
except :
    print('Error, please enter numeric input')
    quit()

p = computepay(fh, fr)
print('Pay', p)

@Panthiades
Copy link

def computepay(h, r):
    f_h = float(h)
    f_r = float(r)
    if f_h>40:
        return 1.5*f_r*(f_h-40)+40*f_r
    else:
        return f_h*f_r
#
h = input('HOURS:')
r = input('RATE')
p = computepay(h, r)
print("Pay", p)
```

@sofiamoj
Copy link

def computepay (h,r):
if h > 40:
return 40 * r + (h - 40) * r * 1.5
else:
return h * r

h = input ("Enter hours:")
h= float (h)
r = input ("Enter rate:")
r= float (r)

p = computepay(h,r)

print("Pay",p)

@Deepak2002-singh
Copy link

Deepak2002-singh commented Apr 29, 2022

`//No need to get confused among these many codes, just put this one and get the desired output as same as Coursera is expecting : 👇

def computepay(h,r):
if h > 40:
p = 1.5 * r * (h - 40) + (40 *r)
else:
p = h * r
return p

hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter rate per hour:")
rphr = float(rphrs)

p = computepay(hr,rphr)
print("Pay", p)
`

@MSThedox
Copy link

def computepay(h, r):
return 1.5 * r * (h - 40) + (40 * r) if h > 40 else h * r

hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter Rate per hour:")
rphr = float(rphrs)
p = computepay(hr, rphr)
print("Pay", p)

@MaryamFarshbafi
Copy link

MaryamFarshbafi commented Jul 15, 2022

def computepay(h, r):
if h<40:
pay=hr
else:
pay=(40
r)+(h-40) r 1.5

return pay

hrs = input("Enter Hours:")
rate=input("Enter Rate")
h=float(hrs)
r=float(rate)
p = computepay(h, r)
print("Pay", p)

@dienhientran
Copy link

dienhientran commented Sep 5, 2022

def computepay(h,r):
if h>40.0:
p = 40.0r
p = p + (h-40.0)1.5r
else:
p = h
r
return p
hrs = input("Enter Hours:")
rate = input("Enter rate:")
h = float(hrs)
r = float(rate)
p = computepay(h,r)
print("Pay", p)

@Anoyses
Copy link

Anoyses commented Sep 5, 2022

why are we using 1.5 value ?

@Anoyses
Copy link

Anoyses commented Sep 5, 2022

and if we use p= float()*float() instead compute pay will it affect my output?

@Femifelix01
Copy link

def computepay(h,r):
if h > 40:
p = 1.5 * r * (h - 40) + (40 *r)
else:
p = h * r
return p
hrs = input("Enter Hours:")
hr = float(hrs)
rphrs = input("Enter rate per hour:")
rphr = float(rphrs)
p = computepay(hr,rphr)
print("Pay",p)

this is right answer

Why did you use 1.5 to multiply? I used 0.5 and i got the same answer as yours. Can you please explain?
Thanks

@syedmraza01
Copy link

def computepay(h, r):
if h > 40 :
p = 1.5 * r * (h - 40) + (40 * r)
else :
p = h * r
return p

hrs = input("Enter Hours:")
hr=float(hrs)
r = input("Enter Rate :")
rt = float(r)

p = computepay(hr , rt)
print("Pay",p)

@WestonSpiro
Copy link

def computepay(h,r):
if h > 40:
p = (1.5 * r) * (h - 40) + (40 *r)
else:
p = h * r
return p

hrs = input("Enter Hours:")
h = float(hrs)
rate = input("Enter rate per hour:")
r = float(rate)

p = computepay(h,r)
print("Pay",p)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment