回答編集履歴
1
コード修正、補足修正
test
CHANGED
@@ -2,9 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
```python
|
6
|
-
|
7
|
-
s = list(input())
|
5
|
+
~~s = list(input())
|
8
6
|
|
9
7
|
for i in range(len(s)-1):
|
10
8
|
|
@@ -12,7 +10,31 @@
|
|
12
10
|
|
13
11
|
s.pop(i-1)
|
14
12
|
|
13
|
+
print(''.join(s))~~
|
14
|
+
|
15
|
+
嘘を教えてしまったので書き直しです
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
```python
|
20
|
+
|
21
|
+
s = list('101B101B')
|
22
|
+
|
23
|
+
i = 0
|
24
|
+
|
25
|
+
while i < len(s):
|
26
|
+
|
27
|
+
if s[i] == 'B':
|
28
|
+
|
29
|
+
s.pop(i-1)
|
30
|
+
|
31
|
+
else:
|
32
|
+
|
33
|
+
i += 1
|
34
|
+
|
15
35
|
print(''.join(s))
|
36
|
+
|
37
|
+
# 10B10B
|
16
38
|
|
17
39
|
```
|
18
40
|
|
@@ -26,13 +48,27 @@
|
|
26
48
|
|
27
49
|
|
28
50
|
|
51
|
+
※追記
|
52
|
+
|
53
|
+
`for`内で削除が行われると、配列の数が合わなくなりエラーが発生するので、
|
54
|
+
|
55
|
+
`while`文で書き換えました。
|
56
|
+
|
57
|
+
`if`に当てはまらなかった場合のみ`i`にインクリメントします。
|
58
|
+
|
59
|
+
`while`の書き方についてはご自身でお調べください。
|
60
|
+
|
61
|
+
|
62
|
+
|
29
63
|
補足としては、
|
30
64
|
|
31
|
-
元のコードでは`for i in range(len(s)):`
|
65
|
+
~~元のコードでは`for i in range(len(s)):`
|
32
66
|
|
33
67
|
となっていますが、`for`の後の変数`i`は0から始まり、`range(len(s))`は文字数(101Bの場合は4)になります。
|
34
68
|
|
35
|
-
0から4の合計5回繰り返しが起こりますが、文字は4つしか無いのでエラーが発生します。
|
69
|
+
0から4の合計5回繰り返しが起こりますが、文字は4つしか無いのでエラーが発生します。~~
|
70
|
+
|
71
|
+
すいません気の所為です。
|
36
72
|
|
37
73
|
|
38
74
|
|