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

回答編集履歴

5

追記

2017/09/14 06:38

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -70,4 +70,11 @@
70
70
  print(i + 1, l, f)
71
71
  ```
72
72
 
73
- 慣れるまではかえって読みづらいかもしれませんが。
73
+ 慣れるまではかえって読みづらいかもしれませんが。
74
+
75
+ ---
76
+ 『リストは複数形』というルールを作れば、かなり読みやすくなります。
77
+ ```Python
78
+ for i, (label, feature) in enumerate(zip(labels, features)):
79
+ print(i + 1, label, feature)
80
+ ```

4

追記

2017/09/14 06:38

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -40,4 +40,34 @@
40
40
  return 0;
41
41
  ^~~~~~
42
42
 
43
- ```
43
+ ```
44
+
45
+ 追記
46
+ ---
47
+ せっかくなので、for文もリファクタリングしてしまいましょう。
48
+ > ```Python
49
+ > for i in range(len(feature)):
50
+ > print (str(i + 1) + " " + str(label[indices[i]]) + " " + str(feature[indices[i]])
51
+ > ```
52
+
53
+ まず、print関数がずいぶん冗長ですが、次のように出来ます。
54
+ ```Python
55
+ for i in range(len(feature)):
56
+ print(i + 1, label[indices[i]], feature[indices[i]])
57
+ ```
58
+
59
+ だいぶ横幅が狭まりましたね。
60
+ さらに、`range(len(hogehoge))`を用いている場合は、だいたい整理可能です。
61
+ ```Python
62
+ for i, index in enumerate(indices):
63
+ print(i + 1, label[index], feature[index])
64
+ ```
65
+
66
+ 実はまだ整理できます。
67
+ `label`と`feature`を順に参照しているだけなので、まとめられます。
68
+ ```Python
69
+ for i, (l, f) in enumerate(zip(label, feature)):
70
+ print(i + 1, l, f)
71
+ ```
72
+
73
+ 慣れるまではかえって読みづらいかもしれませんが。

3

追記

2017/09/14 06:36

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -28,7 +28,7 @@
28
28
  ```C
29
29
  #include <stdio.h>
30
30
  int main(void) {
31
- printf("Hello World")
31
+ printf("Hello World") // ←セミコロンのつけ忘れ
32
32
  return 0;
33
33
  }
34
34
  ```

2

追記

2017/09/14 06:00

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -20,4 +20,24 @@
20
20
  plt = "hogehoge"
21
21
  ^
22
22
  SyntaxError: invalid syntax
23
+ ```
24
+
25
+ 文頭にシンタックスエラーが出る際は、直前の行を疑ってください。
26
+ これはどの言語にも言えることです。
27
+
28
+ ```C
29
+ #include <stdio.h>
30
+ int main(void) {
31
+ printf("Hello World")
32
+ return 0;
33
+ }
34
+ ```
35
+
36
+ ```
37
+ >gcc bug.c
38
+ bug.c: In function 'main':
39
+ bug.c:4:5: error: expected ';' before 'return'
40
+ return 0;
41
+ ^~~~~~
42
+
23
43
  ```

1

追記

2017/09/14 05:59

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -9,4 +9,15 @@
9
9
  for i in range(len(feature)):
10
10
  print (str(i + 1) + " " + str(label[indices[i]]) + " " + str(feature[indices[i]]))
11
11
 
12
+ ```
13
+
14
+ ---
15
+ **同様なエラーが出るコード**
16
+ ```Python
17
+ >>> num = int(3
18
+ ... plt = "hogehoge"
19
+ File "<stdin>", line 2
20
+ plt = "hogehoge"
21
+ ^
22
+ SyntaxError: invalid syntax
12
23
  ```