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

質問編集履歴

4

エラー内容追加

2018/11/11 11:00

投稿

teityura
teityura

スコア84

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,34 @@
7
7
  typeを見ても、同じstr型のクラスで問題なさそうに思えます。
8
8
  どう解釈されて、なぜエラーになっているのでしょうか。
9
9
 
10
+ ```bash
11
+ # エラー内容 ↓↓↓↓↓
12
+ キリンは大昔から__複数名詞__の興味の対象でした、キリンは__複数名詞__の中で一番背が買いですが、科学者たちはそのような長い__体の一部__をどうやって獲得したのか説明できません。キリンの身長は___数値__ __単位__ 近くあり、その高さのほとんどは足と__体の一部__によるものです。
13
+
14
+ type(txt): <class 'str'>
15
+ type(mls): <class 'str'>
16
+ __複数名詞__を入力: あういえお
17
+ type(answer): <class 'str'>
18
+ __複数名詞__を入力: a
19
+ type(answer): <class 'str'>
20
+ __体の一部__を入力: i
21
+ type(answer): <class 'str'>
22
+ ___数値__を入力: u
23
+ type(answer): <class 'str'>
24
+ __単位__を入力: e
25
+ type(answer): <class 'str'>
26
+ __体の一部__を入力: o
27
+ type(answer): <class 'str'>
28
+
29
+
30
+ Traceback (most recent call last):
31
+ File "17-p213.py", line 29, in <module>
32
+ mad_libs(txt)
33
+ File "17-p213.py", line 23, in mad_libs
34
+ print(mls)
35
+ UnicodeEncodeError: 'utf-8' codec can't encode characters in position 8-22: surrogates not allowed
36
+ ```
37
+
10
38
  ```python3
11
39
  #!/usr/bin/env python3.6
12
40
  # encoding: utf-8
@@ -20,7 +48,7 @@
20
48
 
21
49
  def mad_libs(mls):
22
50
  hints = re.findall("__.*?__", mls)
23
- print(type(mls))
51
+ print("type(mls): ", type(mls))
24
52
  if hints is not None:
25
53
  for hint in hints:
26
54
  question = "{}を入力: ".format(hint)
@@ -34,8 +62,8 @@
34
62
  else:
35
63
  print("引数: mls が無効です")
36
64
 
65
+ print(txt)
37
66
  print("type(txt): ", type(txt))
38
- print(txt)
39
67
  mad_libs(txt)
40
68
  ```
41
69
 

3

修正

2018/11/11 11:00

投稿

teityura
teityura

スコア84

title CHANGED
File without changes
body CHANGED
@@ -48,6 +48,12 @@
48
48
  を追加したのですが、なぜこのような違いが出るのでしょうか。
49
49
 
50
50
  ```bash
51
+ echo $SHELL
52
+ /usr/bin/fish
53
+
54
+ fish --version
55
+ fish, version 2.7.1
56
+
51
57
  echo $locale
52
58
 
53
59
  echo $LC_ALL

2

修正

2018/11/11 09:37

投稿

teityura
teityura

スコア84

title CHANGED
File without changes
body CHANGED
@@ -7,28 +7,6 @@
7
7
  typeを見ても、同じstr型のクラスで問題なさそうに思えます。
8
8
  どう解釈されて、なぜエラーになっているのでしょうか。
9
9
 
10
- ※追記:
11
- export LC_ALL=en_US.UTF-8
12
- をしたら日本語をinput()に渡したら動作するようになりましたが、
13
- exportしなくてもいいように、
14
- import io, sys
15
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
16
- を追加したのですが、なぜこのような違いが出るのでしょうか。
17
-
18
- ```bash
19
- echo $locale
20
-
21
- echo $LC_ALL
22
-
23
- export LC_ALL=en_US.UTF-8
24
- echo $locale
25
-
26
- echo $LC_ALL
27
- en_US.UTF-8
28
-
29
- ```
30
-
31
-
32
10
  ```python3
33
11
  #!/usr/bin/env python3.6
34
12
  # encoding: utf-8
@@ -59,4 +37,25 @@
59
37
  print("type(txt): ", type(txt))
60
38
  print(txt)
61
39
  mad_libs(txt)
40
+ ```
41
+
42
+ ※追記:
43
+ export LC_ALL=en_US.UTF-8
44
+ をしたら日本語をinput()に渡したら動作するようになりましたが、
45
+ exportしなくてもいいように、
46
+ import io, sys
47
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
48
+ を追加したのですが、なぜこのような違いが出るのでしょうか。
49
+
50
+ ```bash
51
+ echo $locale
52
+
53
+ echo $LC_ALL
54
+
55
+ export LC_ALL=en_US.UTF-8
56
+ echo $locale
57
+
58
+ echo $LC_ALL
59
+ en_US.UTF-8
60
+
62
61
  ```

1

追記

2018/11/11 09:36

投稿

teityura
teityura

スコア84

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,28 @@
7
7
  typeを見ても、同じstr型のクラスで問題なさそうに思えます。
8
8
  どう解釈されて、なぜエラーになっているのでしょうか。
9
9
 
10
+ ※追記:
11
+ export LC_ALL=en_US.UTF-8
12
+ をしたら日本語をinput()に渡したら動作するようになりましたが、
13
+ exportしなくてもいいように、
14
+ import io, sys
15
+ sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
16
+ を追加したのですが、なぜこのような違いが出るのでしょうか。
17
+
18
+ ```bash
19
+ echo $locale
20
+
21
+ echo $LC_ALL
22
+
23
+ export LC_ALL=en_US.UTF-8
24
+ echo $locale
25
+
26
+ echo $LC_ALL
27
+ en_US.UTF-8
28
+
29
+ ```
30
+
31
+
10
32
  ```python3
11
33
  #!/usr/bin/env python3.6
12
34
  # encoding: utf-8