Python 矩阵数到矩阵ASCII的转换?

Python 矩阵数到矩阵ASCII的转换?,python,numpy,matrix,Python,Numpy,Matrix,我编写了一个基本脚本,用python3生成一个33到255之间的整数平方矩阵。我可以很容易地达到这一点,但接下来的问题是: 我尝试将这些数字转换成一个正方形矩阵中的ASCII符号。但在互联网或StackOver Flow上搜索后,我还没有找到解决方案。这是我的代码: #!usr/bin/env/python3.6 # imports import numpy as np import random # Generated random matrix of 25 spaces, # where

我编写了一个基本脚本,用python3生成一个33到255之间的整数平方矩阵。我可以很容易地达到这一点,但接下来的问题是: 我尝试将这些数字转换成一个正方形矩阵中的ASCII符号。但在互联网或StackOver Flow上搜索后,我还没有找到解决方案。这是我的代码:

#!usr/bin/env/python3.6
# imports
import numpy as np
import random
# Generated random matrix of 25 spaces, 
# where placed ramdom number between 0 to 255,
# and store in a variable.
matrix = np.random.randint(33,255, size=(5, 5))

# This shows the matrix of integer numbers.
print(matrix) # Good!!!
# This translate  matrix of number to ASCII table symbols:
for matrix in store:
    print(chr(matrix)) # BANG! Error, my honey.
这个

我们要做的是首先强制转换到
uint16
uint32
,因为
U
dtype似乎每个字符有2或4个字节。然后,我们将视图转换到
U1
,将数字重新解释为字符,就这样。


我们要做的是首先强制转换到
uint16
uint32
,因为
U
dtype似乎每个字符有2或4个字节。然后,我们将视图转换到
U1
,将数字重新解释为字符,就这样。

什么是
在代码中存储
。修复此错误后,它会正常工作

#!usr/bin/env/python3.6
# imports
import numpy as np
import random
# Generated random matrix of 25 spaces, 
# where placed ramdom number between 0 to 255,
# and store in a variable.
matrix = np.random.randint(33,255, size=(5, 5))

# This shows the matrix of integer numbers.
print(matrix) # Good!!!
# This translate  matrix of number to ASCII table symbols:
for col in range(5):
    for row in range(5):
        print(chr(matrix[row][col]), end=' ')
    print('\n') # Solved, my honey.
输出是-

[[ 86 159  40 221 211]
 [166 224 213 252 160]
 [155 160 111 109 164]
 [ 98 190  34 250  40]
 [115 228  59 139 221]]

V ¦  b s 
 à   ¾ ä 
( Õ o " ; 
Ý ü m ú  
Ó   ¤ ( Ý 

什么是
在代码中存储
。修复此错误后,它会正常工作

#!usr/bin/env/python3.6
# imports
import numpy as np
import random
# Generated random matrix of 25 spaces, 
# where placed ramdom number between 0 to 255,
# and store in a variable.
matrix = np.random.randint(33,255, size=(5, 5))

# This shows the matrix of integer numbers.
print(matrix) # Good!!!
# This translate  matrix of number to ASCII table symbols:
for col in range(5):
    for row in range(5):
        print(chr(matrix[row][col]), end=' ')
    print('\n') # Solved, my honey.
输出是-

[[ 86 159  40 221 211]
 [166 224 213 252 160]
 [155 160 111 109 164]
 [ 98 190  34 250  40]
 [115 228  59 139 221]]

V ¦  b s 
 à   ¾ ä 
( Õ o " ; 
Ý ü m ú  
Ó   ¤ ( Ý 

OP不询问如何打印字符,他们要求的是一个包含字符的“矩阵”。@PaulPanzer,OP正在循环中打印。这表明他对显示更感兴趣,而不是对以后使用的字符矩阵更感兴趣。如果字符在列中排列,我会更喜欢这个答案。@hpaulj。大概好吧,我相信他们会说清楚的,除非他们不明白。我会先在
上迭代。并使用
矩阵[row,col]
进行索引。嗨,我已经看到了这两种解决方案。目标是创建一个随机ASCII符号矩阵。然后在PyQt的桌面应用程序中使用它。这是最终目标,尽管两者都是正确的。谢谢你的帮助。:-)OP不询问如何打印字符,他们要求的是一个包含字符的“矩阵”。@PaulPanzer,OP正在循环中打印。这表明他对显示更感兴趣,而不是对以后使用的字符矩阵更感兴趣。如果字符在列中排列,我会更喜欢这个答案。@hpaulj。大概好吧,我相信他们会说清楚的,除非他们不明白。我会先在
上迭代。并使用
矩阵[row,col]
进行索引。嗨,我已经看到了这两种解决方案。目标是创建一个随机ASCII符号矩阵。然后在PyQt的桌面应用程序中使用它。这是最终目标,尽管两者都是正确的。谢谢你的帮助。:-)什么是
存储
<循环中的代码>矩阵
不是全局
矩阵
chr
是一个Python函数,它接受一个数字并返回一个字符。您好,最后我对函数中包含的代码做了一些改进,这将在一个主要程序中使用:What is
store
<循环中的代码>矩阵
不是全局
矩阵
chr
是一个Python函数,它接受一个数字并返回一个字符。您好,最后我对函数中包含的代码做了一些改进,这将在一个主要程序中使用:您好,我已经看到了这两种解决方案。目标是创建一个随机ASCII符号矩阵。然后在PyQt的桌面应用程序中使用它。这是最终目标,尽管两者都是正确的。谢谢你的帮助。:-)嗨,我已经看到了两种解决方案。目标是创建一个随机ASCII符号矩阵。然后在PyQt的桌面应用程序中使用它。这是最终目标,尽管两者都是正确的。谢谢你的帮助。:-)