質問:
数値のリストが与えられたとき、と同じ数の要素を持つlistA
新しいリストを生成するプログラムを作成して、新しいリストの各要素が元のリストの隣接要素とそれ自体の平均になるようにします。listB
listA
たとえば、listA = [5, 1, 3, 8, 4]
次の場合listB = [3.0, 3.0, 4.0, 5.0, 6.0]
:
(5 + 1)/2 = 3.0
(5 + 1 + 3)/3 = 3.0
(1 + 3 + 8)/3 = 4.0
(3 + 8 + 4)/3 = 5.0
(8 + 4)/2 = 6.0
最初の部分と最後の部分は2つの数字しか扱っていないので取得できますが、中間部分は取得できません。私のループは間違っていますが、正確にはわかりません。これは私がこれまでに持っているものです。
listA= [5,1,3,8,4]
N=len(listA)
print(listA)
listB=[]
listB.append((listA[0]+listA[1])/2)
y=0
x=1
while x in listA:
y=((listA[x-1] + list[x] + list[x+1])/3)
listB.append(y)
y=y+1
listB.append((listA[-1]+listA[-2])/2)
print(listB)