回答編集履歴
2
d
    
        answer	
    CHANGED
    
    | 
         @@ -83,4 +83,31 @@ 
     | 
|
| 
       83 
83 
     | 
    
         | 
| 
       84 
84 
     | 
    
         
             
            等幅フォントで表示すると、以下のようにキレイに表示されます。
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
       86 
     | 
    
         
            -
            
         
     | 
| 
      
 86 
     | 
    
         
            +
            
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            ----
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            ## 質問コードに組み込む場合は以下
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            ```python
         
     | 
| 
      
 93 
     | 
    
         
            +
            def convert(img):
         
     | 
| 
      
 94 
     | 
    
         
            +
                '''画像 img を表す文字列の配列を返す。
         
     | 
| 
      
 95 
     | 
    
         
            +
                '''
         
     | 
| 
      
 96 
     | 
    
         
            +
                dst = np.empty(img.shape, dtype=str)
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                chars = ['■', '◉', '●', '@', '*', '+', '・', ' ']
         
     | 
| 
      
 99 
     | 
    
         
            +
                for min_val, char in zip(range(0, 255, 32), chars):
         
     | 
| 
      
 100 
     | 
    
         
            +
                    max_val = min_val + 31
         
     | 
| 
      
 101 
     | 
    
         
            +
                    # print('{} ~ {}: `{}`'.format(min_val, max_val, char))
         
     | 
| 
      
 102 
     | 
    
         
            +
                    # min_val <= img <= max_val の画素を char に設定する。
         
     | 
| 
      
 103 
     | 
    
         
            +
                    dst[(min_val <= img) & (img <= max_val)] = char
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                return dst
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
            dst = convert(ary)
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
            for row in dst:
         
     | 
| 
      
 110 
     | 
    
         
            +
                for char in row:
         
     | 
| 
      
 111 
     | 
    
         
            +
                    print(char, end='')
         
     | 
| 
      
 112 
     | 
    
         
            +
                print()
         
     | 
| 
      
 113 
     | 
    
         
            +
            ```
         
     | 
1
q
    
        answer	
    CHANGED
    
    | 
         @@ -33,6 +33,7 @@ 
     | 
|
| 
       33 
33 
     | 
    
         
             
                for min_val, char in zip(range(0, 255, 32), chars):
         
     | 
| 
       34 
34 
     | 
    
         
             
                    max_val = min_val + 31
         
     | 
| 
       35 
35 
     | 
    
         
             
                    # print('{} ~ {}: `{}`'.format(min_val, max_val, char))
         
     | 
| 
      
 36 
     | 
    
         
            +
                    # min_val <= img <= max_val の画素を char に設定する。
         
     | 
| 
       36 
37 
     | 
    
         
             
                    dst[(min_val <= img) & (img <= max_val)] = char
         
     | 
| 
       37 
38 
     | 
    
         | 
| 
       38 
39 
     | 
    
         
             
                return dst
         
     | 
| 
         @@ -41,6 +42,15 @@ 
     | 
|
| 
       41 
42 
     | 
    
         
             
            変換した文字列の配列を表示する。
         
     | 
| 
       42 
43 
     | 
    
         | 
| 
       43 
44 
     | 
    
         
             
            ```python
         
     | 
| 
      
 45 
     | 
    
         
            +
            dst = convert(img)
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            for row in dst:
         
     | 
| 
      
 48 
     | 
    
         
            +
                for char in row:
         
     | 
| 
      
 49 
     | 
    
         
            +
                    print(char, end='')
         
     | 
| 
      
 50 
     | 
    
         
            +
                print()
         
     | 
| 
      
 51 
     | 
    
         
            +
            ```
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            ```
         
     | 
| 
       44 
54 
     | 
    
         
             
            ■■■■■■■■■■■■■■■■■■■■■■■■■■■■
         
     | 
| 
       45 
55 
     | 
    
         
             
            ■■■■■■■■■■■■■■■■■■■■■■■■■■■■
         
     | 
| 
       46 
56 
     | 
    
         
             
            ■■■■■■■■■■■■■■■■■■■■■■■■■■■■
         
     |