【Python CheckiO 题解】The Most Numbers
CheckiO 是面向初學(xué)者和高級(jí)程序員的編碼游戲,使用 Python 和 JavaScript 解決棘手的挑戰(zhàn)和有趣的任務(wù),從而提高你的編碼技能,本博客主要記錄自己用 Python 在闖關(guān)時(shí)的做題思路和實(shí)現(xiàn)代碼,同時(shí)也學(xué)習(xí)學(xué)習(xí)其他大神寫的代碼。
CheckiO 官網(wǎng):https://checkio.org/
我的 CheckiO 主頁(yè):https://py.checkio.org/user/TRHX/
CheckiO 題解系列專欄:https://itrhx.blog.csdn.net/category_9536424.html
CheckiO 所有題解源代碼:https://github.com/TRHX/Python-CheckiO-Exercise
題目描述
【The Most Numbers】:給定一個(gè)數(shù)字(包括浮點(diǎn)數(shù))組成的數(shù)組,你要計(jì)算數(shù)組中最大、最小值的差值,如果傳入了一個(gè)空的數(shù)組,函數(shù)應(yīng)該返回 0,計(jì)算結(jié)果精度為 ±0.001。
浮點(diǎn)數(shù)在計(jì)算機(jī)硬件中以二進(jìn)制的小數(shù)來(lái)表示。 所以我們可以以 ±0.001的精度來(lái)驗(yàn)證結(jié)果,想想怎么處理不確定數(shù)量的參數(shù)吧!
【鏈接】:https://py.checkio.org/mission/most-numbers/
【輸入】:一個(gè)由任意多個(gè)數(shù)字(int or float)組成的參數(shù)
【輸出】:數(shù)組中最大值和最小值的差值(int or float)
【前提】: ≤ len(args) ≤ 20;all(-100 < x < 100 for x in args);all(isinstance(x, (int, float)) for x in args)
【范例】:
checkio(1, 2, 3) == 2 checkio(5, -5) == 10 checkio(10.2, -2.2, 0, 1.1, 0.5) == 12.4 checkio() == 0解題思路
直接用 max() 和 min() 方法獲取最大值和最小值,相減即可,如果沒(méi)有傳入?yún)?shù),則返回 0,這條語(yǔ)句可以用三元表達(dá)式,更加簡(jiǎn)潔。
代碼實(shí)現(xiàn)
def checkio(*args):return max(args)-min(args) if args else 0#These "asserts" using only for self-checking and not necessary for auto-testing if __name__ == '__main__':def almost_equal(checked, correct, significant_digits):precision = 0.1 ** significant_digitsreturn correct - precision < checked < correct + precisionprint('Example:')print(checkio(1, 2, 3))assert almost_equal(checkio(1, 2, 3), 2, 3), "3-1=2"assert almost_equal(checkio(5, -5), 10, 3), "5-(-5)=10"assert almost_equal(checkio(10.2, -2.2, 0, 1.1, 0.5), 12.4, 3), "10.2-(-2.2)=12.4"assert almost_equal(checkio(), 0, 3), "Empty"print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")大神解答
大神解答 NO.1
def checkio(*args):return len(args) and max(args) - min(args)大神解答 NO.2
def checkio(*args):return float(sorted(args)[-1])-float(sorted(args)[0]) if len(args) != 0 else 0大神解答 NO.3
def checkio(*args):args = list(args)if len(args)==0: return 0return max(args)-min(args)總結(jié)
以上是生活随笔為你收集整理的【Python CheckiO 题解】The Most Numbers的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 《糖豆人》免费第一天崩了上热搜:2小时都
- 下一篇: 耗资超30亿最贵美剧!剧版《指环王》新剧
