問題已解決
如果我計算加班,超過20分鐘計半小時,達到50分鐘算1小時, 這個函數(shù)該如何寫
溫馨提示:如果以上題目與您遇到的情況不符,可直接提問,隨時問隨時答
速問速答函數(shù)的格式如下:
def overtime(minutes):
hours = 0
if minutes < 0:
return -1
elif minutes <= 20:
hours = 0
elif minutes <= 50:
hours = 0.5
else:
hours = 1 + (minutes-50)/60
return hours
加班時間的計算其實也可以用科學(xué)計算方法來實現(xiàn),我們知道,1分鐘等于60秒,1小時等于60分鐘,因此,把超過20分鐘計半小時,達到50分鐘算1小時這樣的計算標(biāo)準(zhǔn),我們可以表示為:20 x 60 = 50 x 60 x 0.5,所以可以用算式來表示:
hours = (minutes - 20 * 60) / (60 * 60)
其中,minutes為傳入的時間值,表示以分鐘為單位的加班時間。這樣,我們可以得到一個更加簡潔的函數(shù)實現(xiàn):
def overtime(minutes):
if minutes < 0:
return -1
else:
return (minutes - 20 * 60) / (60 * 60)
拓展知識:
計算加班時間的函數(shù)可以使用條件分支的方式來實現(xiàn),也可以使用算術(shù)運算的方式來實現(xiàn),當(dāng)然,同樣還可以使用更復(fù)雜的算法,比如構(gòu)建一個樹來實現(xiàn)計算,或者使用分支定界算法。
2023 01/24 16:53
閱讀 108