2017-10-29 92 views
0

我有這個問題的作業。我需要數學方面的幫助,因爲我已經儘可能地嘗試了它,我似乎無法得出我老師說的那個526的結論。python - 數學乘法

這裏的問題:

計數加班:此功能需要三個參數,數個小時 工作,每小時的報酬。而 乘數爲加班工資。乘數是工人支付的基本工資的多少。所以乘數意味着加班費比正常工資高50%。名稱 。此功能PayCalc: 如何使用此函數: 小時= 41 率= 12.00 乘數= 2.0 付費= PayCalc(小時,速率,乘數) 打印(收費)(此打印526)

這是我的代碼到目前爲止:

def PayCalc(hour,rate,multiplier): 

    hw = hours*rate 
    if multiplier == 1.0: 
     ovr = .25 
    elif multiplier == 1.5: 
     ovr = .50 
    elif multiplier == 2.0: 
     ovr = (hw *.75) + hw 
    elif multiplier == 2.5: 
     ovr = 2 

    print(ovr) 

` hours = int(input("Enter the numer of hours worked: ")) 
    rate = float(input("Enter the pay per hour:")) 
    multiplier = float(input("Enter the multiplier for overtime pay: ")) 
    pay = PayCalc(hours,rate,multiplier)` 
+0

你能提供你所有的代碼嗎? – scharette

+0

'(41 * 12)* .75 + 41 * 12 = 861' – skrubber

+0

這是我所有的代碼,底部。 – tuxy

回答

0

我非常懷疑你的老師犯了一個錯字。要知道如何計算這個,你需要知道工人在加班之前可以工作的小時數。在美國,這是40個小時。所需的功能類似於以下內容:

def PayCalc(hours, rate, multiplier): 

    hours_before_overtime = 40 

    if hours > hours_before_overtime: 

     overtime_hours = hours - hours_before_overtime 
     regular_hours = hours - overtime_hours 

    else: 

     overtime_hours = 0 
     regular_hours = hours 

    return rate * (regular_hours + overtime_hours * multiplier) 

hours  = 41 
rate  = 12.00 
multiplier = 2.0 
pay  = PayCalc(hours, rate, multiplier) 
print(pay) 

其中輸出爲504.0。這源於您的老師給出的參數hours,ratemultiplier。如果加班工作過的小時數爲40,在這種情況下,只有1小時加班的工作,而工資計算方法爲:當另一個用戶在評論中指出

formula

,這個數學作爲講師指定的pay == 526.0hours_before_overtime必須是38 + 1/6。或者,multiplier可能是3.8 + 1/30,或者可能有一些其他的新參數組合來滿足526的結果,但就我而言,最簡單的解釋是,您的老師在某處發生了錯誤,或者忽略提及某些關鍵信息。