我找到了列出所有alt代码的方法,但我想把它们放在一个 table so it looks something like this。
这就是我的尝试:
variable = -1
for i in range(55295):
print("---------")
variable = variable + 1
print(str(variable) + " " + chr(variable))
此代码将打印所有alt代码。 为了把它放到一张桌子里,我尝试了这个。 (它有时间延迟)
import time
variable = -1
#for i in range(55295):
for i in range(15):
print("---------")
variable = variable + 1
print(" | "+ str(variable) + " | " + chr(variable) + " | ")
time.sleep(0.0001)
print("---------------------------------------------------")
我已经没有想法了,你能帮忙吗?
(这是我第一次在这里问一个问题。)
答案 0 :(得分:0)
您可以尝试使用pyplot表方法:我修改并扩展了您的示例代码,使其看起来像: 将matplotlib.pyplot导入为plt
::::::::::Controller Login::::::::::
结果如下: png file of the table saved with matplotlib
我没有成功地在表格中显示从0开始的alt-code字符(仅在控制台中)。
答案 1 :(得分:0)
您无法在21世纪的系统上打印具有如此低代码的字符。图像中的字符是那些出现在旧MS-DOS系统上的字符(根据维基百科:Code Page 437)。但是,现代系统使用Unicode字体,32以下代码(space
)是控制代码,保留用于特殊目的。例如,代码9
插入一个Tab,10
将文本光标放在一个新行上。
(在旧系统上也是这种情况,但你可以通过立即写入视频缓冲区来避免这种情况。现在,在大多数计算机上已不再是一种选择。)
要获得与旧字符等效的 modern ,您需要一个翻译它们的查找列表。我从链接到上面的wiki页面复制了我的。请注意,代码0000
没有官方表示;我把它变成了空间。这仅适用于32以下的控制代码。有126个以上的代码也可能无法“正确”显示(如“不在古董计算机上”),但您可以在维基页面上查找它们。
要正确对齐一位和两位数字,请使用print
格式。可以使用rjust
and .format
等功能进行对齐;但是,从C背景来看,我更喜欢文档所谓的“旧式格式化”(https://docs.python.org/3/library/stdtypes.html#old-string-formatting)。
cp437 = [0x0020, 0x263A, 0x263B, 0x2665, 0x2666, 0x2663, 0x2660, 0x2022, 0x25D8, 0x25CB,
0x25D9, 0x2642, 0x2640, 0x266A, 0x266B, 0x263C, 0x25BA, 0x25C4, 0x2195, 0x203C,
0x00B6, 0x00A7, 0x25AC, 0x21A8, 0x2191, 0x2193, 0x2192, 0x2190, 0x221F, 0x2194,
0x25B2, 0x25BC]
for i in range(15):
print("+----+-----+")
print("| %2d | %s |" % (i, chr(cp437[i])))
print("+----+-----+")
这会产生下表:
+----+-----+
| 0 | |
+----+-----+
| 1 | ☺ |
+----+-----+
| 2 | ☻ |
+----+-----+
| 3 | ♥ |
+----+-----+
| 4 | ♦ |
+----+-----+
| 5 | ♣ |
+----+-----+
| 6 | ♠ |
+----+-----+
| 7 | • |
+----+-----+
| 8 | ◘ |
+----+-----+
| 9 | ○ |
+----+-----+
| 10 | ◙ |
+----+-----+
| 11 | ♂ |
+----+-----+
| 12 | ♀ |
+----+-----+
| 13 | ♪ |
+----+-----+
| 14 | ♫ |
+----+-----+