回答編集履歴
2
追記
answer
CHANGED
@@ -44,4 +44,31 @@
|
|
44
44
|
**実行結果** [Wandbox](https://wandbox.org/permlink/TGX3kOsbJefT8iyR)
|
45
45
|
```
|
46
46
|
8/3,4,16/3,20/3,8,28/3,32/3,12
|
47
|
+
```
|
48
|
+
|
49
|
+
おまけ
|
50
|
+
---
|
51
|
+
無駄に技量的に書くとこんな感じ。
|
52
|
+
```Python
|
53
|
+
from itertools import starmap
|
54
|
+
from fractions import Fraction
|
55
|
+
|
56
|
+
import operator as op
|
57
|
+
|
58
|
+
|
59
|
+
src = range(1, 11)
|
60
|
+
kernel = [
|
61
|
+
Fraction(1, 3), Fraction(2, 3), Fraction(1, 3)
|
62
|
+
]
|
63
|
+
|
64
|
+
dst = [
|
65
|
+
sum(
|
66
|
+
starmap(op.mul, zip(elems, kernel))
|
67
|
+
)
|
68
|
+
for elems
|
69
|
+
in zip(*(
|
70
|
+
src[off:] for off in range(len(kernel))
|
71
|
+
))
|
72
|
+
]
|
73
|
+
print(*dst, sep=',')
|
47
74
|
```
|
1
追記
answer
CHANGED
@@ -23,4 +23,25 @@
|
|
23
23
|
> つまり,最終アウトプットは
|
24
24
|
8/3,4,16/3,20/3,8,......12という出力ファイルを作りたいです.
|
25
25
|
|
26
|
-
分数を取り扱いたい場合は、[fractionsモジュール](https://docs.python.jp/3/library/fractions.html)の利用を検討します。
|
26
|
+
分数を取り扱いたい場合は、[fractionsモジュール](https://docs.python.jp/3/library/fractions.html)の利用を検討します。
|
27
|
+
```Python
|
28
|
+
from fractions import Fraction
|
29
|
+
|
30
|
+
src = range(1, 11)
|
31
|
+
kernel = [
|
32
|
+
Fraction(1, 3), Fraction(2, 3), Fraction(1, 3)
|
33
|
+
]
|
34
|
+
|
35
|
+
dst = []
|
36
|
+
for elems in zip(src, src[1:], src[2:]):
|
37
|
+
dst.append(0)
|
38
|
+
for e, k in zip(elems, kernel):
|
39
|
+
dst[-1] += e * k
|
40
|
+
|
41
|
+
print(*dst, sep=',')
|
42
|
+
```
|
43
|
+
|
44
|
+
**実行結果** [Wandbox](https://wandbox.org/permlink/TGX3kOsbJefT8iyR)
|
45
|
+
```
|
46
|
+
8/3,4,16/3,20/3,8,28/3,32/3,12
|
47
|
+
```
|