def ma(x,y):
"""
# 自定義函式“ma(x,y)”指南
函式格式:ma(x,y)
函式功能:求序列資料x的y週期的簡單平均值,輸出值為序列平均值、即列表。
函式使用舉例:
#輸入:
L = [1,2,3,4,5]
ma(L,3)
#輸出:
[2.0, 3.0, 4.0]
#輸出註解:
(1+2+3)/3=2.0
(2+3+4)/3=3.0
(3+4+5)/3=4.0
if isinstance(x,str):
print("第一個引數不能是字串!")
elif isinstance(y,int) and y>0 and len(x) >= y:
x = list(x)
L=[]
z=[x[i : i + y] for i in range(0,len(x) - y + 1,1)]
for i in range(0,len(x) - y + 1):
L.append(sum(z[i][0 : y + 1]) / y)
return L
else:
if isinstance(x,list) == False:
print("請輸入一個列表或者陣列或者元組!")
if isinstance(y,int) == False or y <= 0:
print("錯誤提示:第二個引數應該是正整數!")
if len(x) < y:
print("錯誤提示:第二個引數值要小於等於第一個引數中元素的個數!")
print([0 for i in range(0,y)])
print([None for i in range(0,y)])
print(list())
def ma(x,y):
"""
# 自定義函式“ma(x,y)”指南
函式格式:ma(x,y)
函式功能:求序列資料x的y週期的簡單平均值,輸出值為序列平均值、即列表。
函式使用舉例:
#輸入:
L = [1,2,3,4,5]
ma(L,3)
#輸出:
[2.0, 3.0, 4.0]
#輸出註解:
(1+2+3)/3=2.0
(2+3+4)/3=3.0
(3+4+5)/3=4.0
"""
if isinstance(x,str):
print("第一個引數不能是字串!")
elif isinstance(y,int) and y>0 and len(x) >= y:
x = list(x)
L=[]
z=[x[i : i + y] for i in range(0,len(x) - y + 1,1)]
for i in range(0,len(x) - y + 1):
L.append(sum(z[i][0 : y + 1]) / y)
return L
else:
if isinstance(x,list) == False:
print("請輸入一個列表或者陣列或者元組!")
if isinstance(y,int) == False or y <= 0:
print("錯誤提示:第二個引數應該是正整數!")
if len(x) < y:
print("錯誤提示:第二個引數值要小於等於第一個引數中元素的個數!")
print([0 for i in range(0,y)])
print([None for i in range(0,y)])
print(list())