teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コード修正

2020/06/26 08:01

投稿

Penpen7
Penpen7

スコア698

answer CHANGED
@@ -43,9 +43,11 @@
43
43
  s = sum_array(x)
44
44
  # 平均
45
45
  a = s/x.size
46
+
47
+ s2 = sum2_array(x)
46
48
  # 二乗平均
47
- s2 = sum2_array(x)/x.size
49
+ a2 = s2/x.size
48
50
  # 分散
49
- v = s2-a*a
51
+ v = a2-a*a
50
52
  print('number of data={0} sum={1} average={2} variance={3}'.format(x.size, s, a, v))
51
53
  ```

1

脱字およびコード追加

2020/06/26 08:01

投稿

Penpen7
Penpen7

スコア698

answer CHANGED
@@ -1,4 +1,4 @@
1
- numpy使っているのだから、numpyの機能を使ってました。
1
+ numpy使っているのだから、numpyの機能を使ってました。
2
2
  pythonはfor文を使うと実行時間が長くなるので、可能な限り使わないほうが賢明です。
3
3
 
4
4
  print文で変数を表示したい場合はformat文を使います。
@@ -21,4 +21,31 @@
21
21
 
22
22
  ```shell
23
23
  number of data=3 sum=12.0 average=4.0 variance=4.666666666666667
24
+ ```
25
+
26
+ for文を使った書き方は推奨できませんが、念の為。
27
+ ```python
28
+ import numpy as np
29
+ def sum_array(a):
30
+ y=0
31
+ for i in a:
32
+ y+=i
33
+ return y
34
+ def sum2_array(a):
35
+ y=0
36
+ for i in a:
37
+ y+=i*i
38
+ return y
39
+
40
+ x = np.loadtxt('data.txt')
41
+
42
+ # 総和
43
+ s = sum_array(x)
44
+ # 平均
45
+ a = s/x.size
46
+ # 二乗平均
47
+ s2 = sum2_array(x)/x.size
48
+ # 分散
49
+ v = s2-a*a
50
+ print('number of data={0} sum={1} average={2} variance={3}'.format(x.size, s, a, v))
24
51
  ```