gpt4 book ai didi

python - 将值转换为行、列和字符

转载 作者:行者123 更新时间:2023-12-01 00:00:47 27 4
gpt4 key购买 nike

我的数据结构初始化如下:

[[0,0,0,0,0,0,0,0] for x in range(8)]

8 个字符,8 行,每行有 5 位列,因此每个整数可以在 0 到 31 之间(含)。

我必须将数字 177(可以在 0 到 319 之间)转换为字符、行和列。

让我再试一次,这次使用更好的代码示例。未设置任何位。

好的,我将相反的问题添加到了问题中。也许这会有所帮助。

chars = [[0,0,0,0,0,0,0,0] for x in range(8)]

# reverse solution
for char in range(8):
for row in range(8):
for col in range(5):
n = char * 40 + (row * 5 + col)
chars[char][row] = chars[char][row] ^ [0, 1<<4-col][row < col]

for data in range(320):
char = data / 40
col = (data - char * 40) % 5
row = ?
print "Char %g, Row %g, Col %g" % (char, row, col), chars[char][row] & 1<<4-col

最佳答案

好吧,这看起来就像您正在使用 1x8 LCD 显示器一样,​​其中每个字符是 8 行,每行 5 个像素。

因此,您总共有 8 * (8 * 5) = 320 个像素,并且您希望将像素的索引映射到描述显示内容的“帧缓冲区”中的位置。

我假设像素是这样分布的(仅显示第一个字符),您的初始循环表明这是正确的:

 0  1  2  3  4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24
25 26 27 28 29
30 31 32 33 34
35 36 37 38 39

然后我们有:

 # Compute which of the 8 characters the pixel falls in, 0..7:
char = int(number / 40)

# Compute which pixel column the pixel is in, 0..4:
col = number % 5

# Compute which pixel row the pixel is in, 0..7:
row = int((number - char * 40) / 5)

我使用显式的 int() 来明确这些数字是整数。

请注意,您可能想要翻转该列,因为这会从左侧对它们进行编号。

关于python - 将值转换为行、列和字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/984888/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com