我是python的新手,并希望将其用作退休项目。但是,我尝试以下面的格式打印表格时遇到了很多麻烦。我只会在我想要实现的内容中显示如下的ascii表
chr: ! " # $ % & ' ( ) * + , - . /
asc: 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
chr: 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
asc: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
我在许多版本中尝试过'\n'
而我无法按上述方式打印输出。这是我尝试让事情至少起作用的简短代码;
for asc in range(32,64):
print(chr(asc),end = ' ')
print(ord(chr(asc)),end = ' ')
将'\n'
放在任何地方,只会进一步混淆问题;
for asc in range(32,64):
print(chr(asc),'\n',end = ' ')
print(ord(chr(asc)),end = ' ')
再次使输出垂直,所以我卡住了。我在谷歌和这个网站上看起来很努力,我宁愿远离类型命令,因为我还在编程的最初阶段。在这一点上很长的路要走。欢迎任何帮助。
答案 0 :(得分:0)
在任何想象中都不是一个pythonic或优雅的解决方案,而是建立在已有的基础上:
print('chr:',end='')
for asc in range(32,48):
print('{:>4}'.format(chr(asc)),end='')
print()
print('asc:',end='')
for asc in range(32,48):
print('{:>4}'.format(ord(chr(asc))),end='')
print()
print('chr:',end='')
for asc in range(48,64):
print('{:>4}'.format(chr(asc)),end='')
print()
print('asc:',end='')
for asc in range(48,64):
print('{:>4}'.format(ord(chr(asc))),end='')
print()
答案 1 :(得分:0)
首先,您在上面的代码段中执行ord(chr(asc))
的原因。它只是意味着asc
变量。现在,来到您的解决方案,您可以先使用chr
将ord
和str()
转换为字符串,然后您可以应用ljust()
或rjust()
字符串方法。他们究竟做了什么,你可以从他们的文档中知道。以下是代码段:
for asc in range(35, 42):
print(str(chr(asc)).rjust(5), end = '')
print()
for asc in range(35, 42):
print(str(asc).rjust(5), end='')
print()