回答編集履歴
1
文脈の修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
まずはじめに、入力された値は改行が入ったひとつの文です。(\n は改行を意味します)
|
1
|
+
まずはじめに、入力された値は改行が入ったひとつの**文字列**です。(\n は改行を意味します)
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
つぎに、readlines() を使うと、このひとつの文が改行で分割され**リスト**として返ってきます。
|
9
|
+
つぎに、readlines() を使うと、このひとつの**文字列**が改行で分割され**リスト**として返ってきます。
|
10
10
|
|
11
11
|
|
12
12
|
|
@@ -30,11 +30,11 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
この結果を for ループで回すことによって、"スライム, 30" → "モンスター,23 " → ・・・
|
33
|
+
この結果を for ループで回すことによって、リストの各要素:"スライム, 30" → "モンスター,23 " → ・・・ の**文字列**が順に `line` に代入されていきます。
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
そして最後に、split() を使って、`スライム, 30` がカンマによって分割され、リスト`['スライム', '30'] になります。
|
37
|
+
そして最後に、split() を使って、`スライム, 30` がカンマによって分割され、**リスト**:`['スライム', '30'] になります。
|
38
38
|
|
39
39
|
|
40
40
|
|
@@ -42,8 +42,12 @@
|
|
42
42
|
|
43
43
|
|
44
44
|
|
45
|
-
というわけで、[質問点1] のリストに分割されるタイミングは、readlines() したタイミングです。
|
45
|
+
というわけで、[質問点1] の**リスト**に分割されるタイミングは、readlines() したタイミングです。
|
46
46
|
|
47
47
|
|
48
48
|
|
49
49
|
また、[質問点2] ですが、read() はリストへの分割をせず、まるごと1つの**文字列**として取り込まれます。さらに文字列を for ループで回すと、1文字ずつ分割される仕様になっていますので、"ス" → "ラ" → "イ" → "ム" → ・・・ となっていきます。1文字を split(",") にしても分割できないので、enemy[1] は存在せず out of range エラーとなります。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
文字列 と リスト/辞書/タプル は混同しやすいので、今後解説サイト等を見る際に意識してみてください。理解がぐっと進むと思います。
|