回答編集履歴

1

修正方法追加

2021/11/13 16:20

投稿

ppaul
ppaul

スコア24668

test CHANGED
@@ -9,3 +9,43 @@
9
9
  ```
10
10
 
11
11
  で、Sからiを削除することでループの回転数が変わるからです。
12
+
13
+ 以下のようにコピーを使えば、この問題は起きません。
14
+
15
+
16
+
17
+ ```python
18
+
19
+ >>> N=5
20
+
21
+ >>> S = [10,20,39,10,10]
22
+
23
+ >>> S2 = S.copy()
24
+
25
+ >>>
26
+
27
+ >>> for a in range(1, 143):
28
+
29
+ ... for b in range(1, 143):
30
+
31
+ ... x = 4 * a * b + 3 * a + 3 * b
32
+
33
+ ... for i in S:
34
+
35
+ ... if i == x:
36
+
37
+ ... S2.remove(i)
38
+
39
+ ...
40
+
41
+ Traceback (most recent call last):
42
+
43
+ File "<stdin>", line 6, in <module>
44
+
45
+ ValueError: list.remove(x): x not in list
46
+
47
+ >>> print(S2)
48
+
49
+ [20]
50
+
51
+ ```