1 readings=[1,8,3,4,9,6,7]2 current=readings[0]
3 defferences=
4for next_item in readings[1:]:#
注意next_item的值
6 current=next_item
7print
(current)89
for i in
defferences:
10print
(i)1112#
輔助函式
13def
with_next(iterable):
14'''
yield(current,next_item) tuples for each item in iterable.
'''15 iterator =iter(iterable)
16 current=next(iterator)
17for next_item in
iterator:
18yield
current,next_item
19 current=next_item
2021 differences=
22for current,next_item in
with_next(readings):
2425 defferences2=[
2627 (next_item-current) for current,next_item in
with_next(readings)
28 ]
迭代器每迭代一次就會消耗乙個元素,是一次性的。所以會得到對迭代器物件求和結果為0
readings=[1,8
,3,4
,9,6
,7]current=readings[0]
defferences=
for next_item in readings[1:]:#
注意next_item
輔助函式
def
和為指定值的連續序列
輸入乙個整數s,列印出所有和為s的連續正整數序列 至少包含兩個數 例如,對於輸入15,由於有1 2 3 4 5 15,4 5 6 15,7 8 15,所以列印出1 5 4 6 7 8三個序列。有個比較好的做法是利用等差數列求和公式 s a n n n 1 2。這裡的a是第乙個元素,n是項數。int ...
求連續子串行的最大值
問題描述 有一串數字 可正可負的int,放在陣列num裡 要求找到起始位置start和終止位置end,使得從start位置到end位置的所有數字之和最大,返回這個最大值max。演算法思想 使用動態規劃。設 f x 為以 a x 終止且包含 a x 的最大序列的和,有 f 1 a 1 f x 1 f ...
陣列中的最長連續子串行
陣列中的最長連續子串行 給定無序陣列arr,返回其中最長的連續序列的長度 要求值連續,位置可以不連續,例如 3,4,5,6為連續的自然數 輸入描述 輸出兩行,第一行包括乙個整數n 1 n 1 05 n 1 leq n leq10 5 n 1 n 105 第二行包含n個整數,分別代表arr i 1 a...