Python 代碼閱讀合集介紹:為什么不推薦Python初學者直接看項目源碼
本篇閱讀的代碼實現了對連續底數計算相同的冪數,并求和的功能。即a^b + (a + 1)^b + (a + 2)^b + ... + (a + n) ^ b
。
本篇閱讀的代碼片段來自于30-seconds-of-python。
sum_of_powers
def sum_of_powers(end, power = 2, start = 1):
return sum([(i) ** power for i in range(start, end + 1)])
# EXAMPLES
sum_of_powers(10) # 385
sum_of_powers(10, 3) # 3025
sum_of_powers(10, 3, 5) # 2925
函數接收一個截止數end
,一個起始數start
和一個冪數power
,返回從start
至end
的數字的power
次冪的和。
函數使用列表推導式,生成每個數字的power
次冪的值。再使用sum(lst)
計算它們的和。
函數入參中第二個參數power
默認值為2
,第三個參數start
的默認值為1
。