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

回答編集履歴

1

追記

2017/07/10 06:27

投稿

pashango2
pashango2

スコア930

answer CHANGED
@@ -9,4 +9,24 @@
9
9
  `array`の長さがゼロにならないとwhileを抜けないのに、次の行でprint(array[0])って矛盾していませんか?
10
10
  `array`(グローバル変数?)の長さを変えている場所も見当たりませんし。
11
11
 
12
- X番目に処理を変えたいのであれば`while`ではなく`for i, x in enumerate(array)`のように`enumrate`を使った方が良いと思います。
12
+ X番目に処理を変えたいのであれば`while`ではなく`for i, x in enumerate(array)`のように`enumrate`を使った方が良いと思います。
13
+
14
+ ---
15
+ コメントを受けてソースを変えました。
16
+ そもそもwhileで配列を削除(list.pop(-1)を使う?)していくコードはバグが入りやすく、理解もしにくいと思います。
17
+ このような処理なら`for`を使うのが順当かと思います。
18
+
19
+ ```python
20
+ def X(引数):
21
+ aa =A(引数)
22
+ bb =B(引数)
23
+ if len(bb) != 0:
24
+ print(bb)
25
+ cc =C(引数)
26
+ dd =D(引数)
27
+
28
+ for a in array:
29
+ X(a)
30
+ ```
31
+
32
+ bbの長さがゼロなら`print`したいという事ですが、こういう事でしょうか・・・?