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

回答編集履歴

1

追記

2019/09/19 06:09

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -7,4 +7,30 @@
7
7
  [[...]]
8
8
  ```
9
9
 
10
- ちゃんとインデントがわかるようにコードブロックで囲まれていて、どのように引数を与えたのかがわかるようなコードを示していただかないとこれ以上はなんとも言えませんが、ロジックに問題がありそうな気がします。
10
+ ちゃんとインデントがわかるようにコードブロックで囲まれていて、どのように引数を与えたのかがわかるようなコードを示していただかないとこれ以上はなんとも言えませんが、ロジックに問題がありそうな気がします。
11
+
12
+ ### 追記
13
+ 関数部分で余計な代入を除去すると、以下のコードになります。
14
+
15
+ ```python
16
+ def mmF(x,raw,Mfct):
17
+ if x <= 2:
18
+ Mfct.append(0)
19
+ elif x >= 3:
20
+ dtA=x-1
21
+ dtB=x-2
22
+ curMF=raw[dtA]-raw[dtB]
23
+ Mfct.append(curMF)
24
+ return Mfct
25
+ ```
26
+
27
+ 第三引数を受け取って、操作した後に返す関数になっていることがわかります。
28
+
29
+ 一方main側では
30
+
31
+ ```python
32
+ a=mmf(num,raws,MF)
33
+ MF.append(a)
34
+ ```
35
+
36
+ の部分で、結果的に`MF`に`MF`を`append`するコードになっていますから、質問文のような状況になります。