回答編集履歴

1

別解を追記

2018/11/07 21:03

投稿

can110
can110

スコア38266

test CHANGED
@@ -45,3 +45,47 @@
45
45
  print(ret) # [['@' ' ' '◉' '■' '@' '●' '+' '@' '・' '・' '●' '@' ' ' '■' ' ' '*' '*'...
46
46
 
47
47
  ```
48
+
49
+
50
+
51
+
52
+
53
+ 以下、ちょっと詰め込みすぎな別解。
54
+
55
+ 見づらいですが`'■▲●@*+・ '[v//32]`で数値→文字に変換しています。
56
+
57
+ ```Python
58
+
59
+ import numpy as np
60
+
61
+
62
+
63
+ # テストデータ
64
+
65
+ np.random.seed(seed=110)
66
+
67
+ ary = np.random.randint(0,256,(28,28))
68
+
69
+ #print(ary) # #print(ary) # [[128 227 61 15 125 89 175 128 208 208 70 98 251...
70
+
71
+
72
+
73
+ sp = ary.shape # (28,28)
74
+
75
+ ret = np.array(list(map(lambda v:'■▲●@*+・ '[v//32], ary.flatten()))).reshape(sp) # 環境の都合上、◉を▲で表現
76
+
77
+
78
+
79
+ # tiitoiさんの回答を参考に
80
+
81
+ for r in range(sp[0]):
82
+
83
+ for c in range(sp[1]):
84
+
85
+ print(ret[r][c], end='')
86
+
87
+ print()
88
+
89
+ ```
90
+
91
+ ![イメージ説明](736396f002cf045e84a00c1c18240761.png)