I have a hmwk assignment that i'm stuck on....It calls for a while loop so I need to basically repeat this 4 times but I cannot for the life of me figure it out....any help would be great I narrow the code down so it works when I input the hours and rates...I just need to repeat this

Make a flowchart and write the Python 3.0 program for the following problem. A list of employees names, hours worked in a week and the hourly rate of pay is entered. Read in each employee’s data and print out the pay for the week ( including 1.5 times overtime pay for hours over 40). At the end, print the total pay for all employees. Some sample data is shown below (with the corresponding output). Hint: First write a while loop to read in employee data (one employee at a time) and print it. Then enhance your work to process an employee without overtime pay. Then include overtime pay and finally, produce the total pay.

Run#1:

Input:

“John Smith”, 50, 10

“Jane Doe”, 40, 15

“Mark Manning”, 60, 12

“ “, 0, 0

Output:

John Smith’s pay=$550.00

Jane Doe’s pay=$600.00

Mark Manning’s pay=$840.00

Total pay=$1990.00

#This program calculates and prints pay given
#rate and hours worked


employeeName=str(input("Enter employee name: "))

rate=float(input("Enter rate: "))
hours=float(input("Enter hours worked: "))

if hours>40:
    pay = 40 * rate + (hours - 40) * 1.5 * rate
    if hours>40:
        overtime=(hours - 40) * 1.5 * rate
        print("For this week overtime earned $",overtime)
else:
    pay = hours * rate
    overtime=(hours - 40) * 1.5 * rate
    print("For this week overtime earned $",overtime)
print("For this week you earned $",pay

Recommended Answers

All 3 Replies

Member Avatar for masterofpuppets

hi,
here's what you can do:

for i in range( 4 ):  # since you want 4 repetitions
    employeeName = str( input( "Enter employee name: " ) )

    rate = float( input( "Enter rate: " ) )
    hours = float( input( "Enter hours worked: " ) )

    if hours>40:
        pay = 40 * rate + ( hours - 40 ) * 1.5 * rate
        overtime = ( hours - 40 ) * 1.5 * rate
        print ( "For this week overtime earned $", overtime )
    else:
        pay = hours * rate
        overtime = ( hours - 40 ) * 1.5 * rate
        print ( "For this week overtime earned $",overtime )
    print ( "For this week you earned $", pay )
    print

just put everything in a for loop :)
pls next time put code tags, it's hard to read otherwise

hope this helps :)

commented: very helpful information +0

I thought range index started at 0. If it does, then range( 3 )?

Member Avatar for masterofpuppets

@ soldner :)
yes range starts from 0 by default, so range( 4 ) returns [ 0, 1, 2, 3 ], excluding the index as required here:

It calls for a while loop so I need to basically repeat this 4 times

range( 3 ) would produce [ 0, 1, 2 ] :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.