回答編集履歴
3
誤字修正など
answer
CHANGED
@@ -48,4 +48,5 @@
|
|
48
48
|
# ++++++++++++++++
|
49
49
|
```
|
50
50
|
|
51
|
-
ただ、フォントによっては等幅フォントでも半角と全角文字の幅の比率が`1:2`ではないフォントも存在するため、フォント
|
51
|
+
ただ、フォントによっては等幅フォントでも半角と全角文字の幅の比率が`1:2`ではないフォントも存在するため、フォント次第で少しズレてしまいます。(上記コードの中の出力例も少しズレています)
|
52
|
+
全角文字の数で囲う文字の上下の数を調整したほうがよいかもしれません。
|
2
出力例が間違っていたので修正
answer
CHANGED
@@ -39,14 +39,13 @@
|
|
39
39
|
|
40
40
|
# 出力結果例1
|
41
41
|
# ++++++++++++
|
42
|
-
# +
|
42
|
+
# +テラテイル+
|
43
43
|
# ++++++++++++
|
44
44
|
|
45
45
|
# 出力結果例2
|
46
46
|
# ++++++++++++++++
|
47
|
-
# +
|
47
|
+
# +Pythonは楽しい+
|
48
48
|
# ++++++++++++++++
|
49
49
|
```
|
50
50
|
|
51
|
-
ただ、フォントによっては等幅フォントでも半角と全角文字の幅の比率が`1:2`ではないフォントも存在するため、
|
51
|
+
ただ、フォントによっては等幅フォントでも半角と全角文字の幅の比率が`1:2`ではないフォントも存在するため、フォントに次第で少しズレてしまいます。
|
52
|
-

|
1
全角文字対応版を追加
answer
CHANGED
@@ -12,4 +12,41 @@
|
|
12
12
|
# +++++++
|
13
13
|
# +arist+
|
14
14
|
# +++++++
|
15
|
-
```
|
15
|
+
```
|
16
|
+
|
17
|
+
### <追記>全角文字対応版
|
18
|
+
toast-uz さんのご指摘通り、最初のコードは全角文字に対応できていなかったので、全角文字対応版を追加します。ただ、
|
19
|
+
```Python
|
20
|
+
import unicodedata
|
21
|
+
|
22
|
+
def len_count(text):
|
23
|
+
count = 0
|
24
|
+
for c in text:
|
25
|
+
if unicodedata.east_asian_width(c) in 'FWA':
|
26
|
+
count += 2
|
27
|
+
else:
|
28
|
+
count += 1
|
29
|
+
return count
|
30
|
+
|
31
|
+
|
32
|
+
input_line = input()
|
33
|
+
|
34
|
+
str_len = len_count(input_line)
|
35
|
+
|
36
|
+
print('+' * (str_len + 2))
|
37
|
+
print('+'+input_line+'+')
|
38
|
+
print('+' * (str_len + 2))
|
39
|
+
|
40
|
+
# 出力結果例1
|
41
|
+
# ++++++++++++
|
42
|
+
# ++テラテイル++
|
43
|
+
# ++++++++++++
|
44
|
+
|
45
|
+
# 出力結果例2
|
46
|
+
# ++++++++++++++++
|
47
|
+
# ++Pythonは楽しい++
|
48
|
+
# ++++++++++++++++
|
49
|
+
```
|
50
|
+
|
51
|
+
ただ、フォントによっては等幅フォントでも半角と全角文字の幅の比率が`1:2`ではないフォントも存在するため、その場合は下図のように少しズレてしまいます。
|
52
|
+

|