回答編集履歴

4

修正

2017/11/19 17:36

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -1,4 +1,4 @@
1
- evalの引数は文字列でないといけないからです。
1
+ evalの引数は適切な文字列でないといけないからです。
2
2
 
3
3
  入力を無理矢理実行しようとしてしまっているので、文法エラーが出ています。
4
4
 
@@ -17,6 +17,14 @@
17
17
  >>> print(input_list)
18
18
 
19
19
  ['2', '4', '5', '6', '3']
20
+
21
+ >>>
22
+
23
+ >>> input_list = list(map(int, input_list))
24
+
25
+ >>> print(input_list)
26
+
27
+ [2, 4, 5, 6, 3]
20
28
 
21
29
  ```
22
30
 
@@ -60,7 +68,7 @@
60
68
 
61
69
  スライスは見慣れるまでは難解に思えますが、慣れると非常に簡潔です。
62
70
 
63
- 覚えておくと、かなり融通が効きます。
71
+ 覚えておくと、かなり融通が効きます。[Pythonのスライスについて](https://qiita.com/ycctw1443/items/03f99f3f72a797fdcbf6)
64
72
 
65
73
 
66
74
 

3

追記

2017/11/19 17:36

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -60,6 +60,8 @@
60
60
 
61
61
  スライスは見慣れるまでは難解に思えますが、慣れると非常に簡潔です。
62
62
 
63
+ 覚えておくと、かなり融通が効きます。
64
+
63
65
 
64
66
 
65
67
  その他、気になったところ
@@ -108,7 +110,7 @@
108
110
 
109
111
  元々の関数/クラスを隠してしまう(**シャドウイング**)ので、次の変数名は避けてください。
110
112
 
111
- `str` `list` `dict` `set` `max` `min` などなど。
113
+ `str` `list` `dict` `set` `max` `min` `int` `float` `sum` などなど。
112
114
 
113
115
 
114
116
 

2

追記

2017/11/19 17:19

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -6,7 +6,29 @@
6
6
 
7
7
  **基本的に、evalとexecは使用禁止です。**初心者のうちはなおさらです。
8
8
 
9
+ 普通にinputで値を受け取ればよいです。
9
10
 
11
+ ```Python
12
+
13
+ >>> input_list = input().split()
14
+
15
+ 2 4 5 6 3
16
+
17
+ >>> print(input_list)
18
+
19
+ ['2', '4', '5', '6', '3']
20
+
21
+ ```
22
+
23
+
24
+
25
+ なお、今回のエラー(Syntax Error)は**値の受け取り方**に全て起因しています。
26
+
27
+ かなり泥臭い方法ではありますが、反転の処理自体には問題ないように思えます。
28
+
29
+
30
+
31
+ もうちょっときれいに解くなら
10
32
 
11
33
  ---
12
34
 

1

追記

2017/11/19 17:09

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -40,7 +40,31 @@
40
40
 
41
41
 
42
42
 
43
+ その他、気になったところ
44
+
43
- ついでに
45
+ ---
46
+
47
+ > ```Python
48
+
49
+ def reverse(list):
50
+
51
+ list = []
52
+
53
+ ...
54
+
55
+ > ```
56
+
57
+
58
+
59
+ せっかく引数としてlistを受け取ったのに、空のリストで上書きしてしまっています。
60
+
61
+ 引数は既にデータがあるものとして扱ってください。
62
+
63
+
64
+
65
+ つまり、入力を受け付けるべきは関数reverse内ではないと言うことです。
66
+
67
+
44
68
 
45
69
  ---
46
70
 
@@ -63,3 +87,15 @@
63
87
  元々の関数/クラスを隠してしまう(**シャドウイング**)ので、次の変数名は避けてください。
64
88
 
65
89
  `str` `list` `dict` `set` `max` `min` などなど。
90
+
91
+
92
+
93
+ 質問のしかた
94
+
95
+ ---
96
+
97
+ teratailでは、上記のようにコードを見やすく表示する機能があります。
98
+
99
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
100
+
101
+ 特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。