問(wèn)題已解決

如果我計(jì)算加班,超過(guò)20分鐘計(jì)半小時(shí),達(dá)到50分鐘算1小時(shí), 這個(gè)函數(shù)該如何寫

84785022| 提問(wèn)時(shí)間:2023 01/24 16:47
溫馨提示:如果以上題目與您遇到的情況不符,可直接提問(wèn),隨時(shí)問(wèn)隨時(shí)答
速問(wèn)速答
良老師1
金牌答疑老師
職稱:計(jì)算機(jī)高級(jí)
函數(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 加班時(shí)間的計(jì)算其實(shí)也可以用科學(xué)計(jì)算方法來(lái)實(shí)現(xiàn),我們知道,1分鐘等于60秒,1小時(shí)等于60分鐘,因此,把超過(guò)20分鐘計(jì)半小時(shí),達(dá)到50分鐘算1小時(shí)這樣的計(jì)算標(biāo)準(zhǔn),我們可以表示為:20 x 60 = 50 x 60 x 0.5,所以可以用算式來(lái)表示: hours = (minutes - 20 * 60) / (60 * 60) 其中,minutes為傳入的時(shí)間值,表示以分鐘為單位的加班時(shí)間。這樣,我們可以得到一個(gè)更加簡(jiǎn)潔的函數(shù)實(shí)現(xiàn): def overtime(minutes): if minutes < 0: return -1 else: return (minutes - 20 * 60) / (60 * 60) 拓展知識(shí): 計(jì)算加班時(shí)間的函數(shù)可以使用條件分支的方式來(lái)實(shí)現(xiàn),也可以使用算術(shù)運(yùn)算的方式來(lái)實(shí)現(xiàn),當(dāng)然,同樣還可以使用更復(fù)雜的算法,比如構(gòu)建一個(gè)樹(shù)來(lái)實(shí)現(xiàn)計(jì)算,或者使用分支定界算法。
2023 01/24 16:53
描述你的問(wèn)題,直接向老師提問(wèn)
0/400
      提交問(wèn)題

      您有一張限時(shí)會(huì)員卡待領(lǐng)取

      00:10:00

      免費(fèi)領(lǐng)取
      Hi,您好,我是基于人工智能技術(shù)的智能答疑助手,如果有什么問(wèn)題可以直接問(wèn)我呦~