如何快速的求出1
到x
的和呢?**如下:
nb(注意):#
後面的部分表示輸出結果。
class
debug
:def
calculatesum
(self, size)
:return
sum(
range
(size)
)if __name__ ==
"__main__"
: main = debug(
) result = main.calculatesum(
101)
print
(result)
# 5050
這裡我們想要求出1-100
的和,因為range(101)
最後的值是100
,所以range()
的引數應該取101
而不是100
,1
到100
的和我們早已耳熟能詳,答案是5050
。可以看到我i們使用sum()
和range()
函式的組合就求出了1-100
的和,這裡其實是運用了for
的隱式迴圈.。嚴格地說此段**實際上計算的是0-100
的和,但是因為0
並不影響最終求和的結果,故這裡可以等同為1-100
的和。上述**和下面的**等效。**如下:
class
debug
:def
calculatesum
(self, size)
: _sum =
0for i in
range
(size)
: _sum += i
return _sum
if __name__ ==
"__main__"
: main = debug(
) result = main.calculatesum(
101)
print
(result)
# 5050
我們知道,range(101)
的結果為range(0, 101)
,想要獲取它的展開形式我們需要用list
進行轉換並檢視,因此當我們使用sum()
函式對其進行求和運算的時候,事實上是遍歷了它中間的每乙個元素,也就是使用了隱式迴圈。
print
(range
(101))
# range(0, 101)
print
(list
(range
(101))
)"""
result :
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
"""
那麼進一步我們可不可能將快速求和進行推廣呢?是可以的,我們可以用此種方法計算出任意的等差數列的和。**如下:
class
debug
:def
calculatesum
(self, start, end, gap)
:return
sum(
range
(start, end, gap)
)if __name__ ==
"__main__"
: main = debug(
) result = main.calculatesum(0,
101,2)
print
(result)
# 2550
這裡我們計算了0-100
中差值為2
的等差數列的和。
如果大家覺得有用,請高抬貴手給乙個讚讓我上推薦讓更多的人看到吧~
python使用隱式迴圈快速求和的實現示例
如何快速的求出1到x的和呢?如下 nb 注意 後面的部分表示輸出結果。class debug def calculatesum self,size return sum range size if name main main debug result main.calculatesu程式設計客棧m...
隱式轉換中隱式引數與隱式函式的使用
隱式引數的使用 要定義多個隱式引數時,需要使用柯里化函式。隱式轉換作用就是 當呼叫方法時,不必手動傳入方法中的隱式引數,scala會自動在作用域範圍內尋找隱式值自動傳入。1 同型別的引數的隱式值只能在作用域內出現一次,同乙個作用域內不能定義多個型別一樣的隱式值。2 implicit 關鍵字必須放在隱...
Python 列表推導式中使用if
列表推導式 又稱列表解析式 提供了一種簡明扼要的方法來建立列表。它的結構是在乙個中括號裡包含乙個表示式,然後是乙個for語句,然後是 0 個或多個 for 或者 if 語句。那個表示式可以是任意的,意思是你可以在列表中放入任意型別的物件。返回結果將是乙個新的列表,在這個以 if 和 for 語句為上...