回答編集履歴
3
修正
answer
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
```
|
8
8
|
|
9
9
|
どんな式でも実行してしまうevalに比べ、
|
10
|
-
ast.literal_evalはリテラル形式の文字列しかパースしないので安全です。
|
10
|
+
ast.literal_evalはリテラル形式の文字列しかパースしないので比較的安全です。
|
11
11
|
```Python
|
12
12
|
>>> password = 'MY_SECRET_PASSWORD'
|
13
13
|
>>> eval(input())
|
2
例の統一
answer
CHANGED
@@ -30,8 +30,8 @@
|
|
30
30
|
>>>
|
31
31
|
>>> password = 'MY_SECRET_PASSWORD'
|
32
32
|
>>> literal_eval(input())
|
33
|
-
(
|
33
|
+
(2, 3)
|
34
|
-
(
|
34
|
+
(2, 3)
|
35
35
|
>>> literal_eval(input())
|
36
36
|
print(*('{}: {}'.format(k, v) for k, v in locals().items()), sep='\n')
|
37
37
|
Traceback (most recent call last):
|
1
修正
answer
CHANGED
@@ -11,8 +11,8 @@
|
|
11
11
|
```Python
|
12
12
|
>>> password = 'MY_SECRET_PASSWORD'
|
13
13
|
>>> eval(input())
|
14
|
-
2
|
14
|
+
(2, 3)
|
15
|
-
|
15
|
+
(2, 3)
|
16
16
|
>>> eval(input())
|
17
17
|
print(*('{}: {}'.format(k, v) for k, v in locals().items()), sep='\n')
|
18
18
|
__name__: __main__
|
@@ -23,4 +23,20 @@
|
|
23
23
|
__annotations__: {}
|
24
24
|
__builtins__: <module 'builtins' (built-in)>
|
25
25
|
password: MY_SECRET_PASSWORD
|
26
|
+
```
|
27
|
+
|
28
|
+
```Python
|
29
|
+
>>> from ast import literal_eval
|
30
|
+
>>>
|
31
|
+
>>> password = 'MY_SECRET_PASSWORD'
|
32
|
+
>>> literal_eval(input())
|
33
|
+
(1, 2)
|
34
|
+
(1, 2)
|
35
|
+
>>> literal_eval(input())
|
36
|
+
print(*('{}: {}'.format(k, v) for k, v in locals().items()), sep='\n')
|
37
|
+
Traceback (most recent call last):
|
38
|
+
File "<stdin>", line 1, in <module>
|
39
|
+
File "C:...\ast.py", line 99, in literal_eval
|
40
|
+
...
|
41
|
+
ValueError: malformed node or string: <_ast.Call object at 0x0000018D769DCF10>
|
26
42
|
```
|