Python编程将数字编码为字母

2024-09-28 03:15:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个代码,使00=a01=b,依此类推,例如str2numsp('Ilikepython.')应该返回字符串 “3452110810045241241907141353”。在


Tags: 字符串代码a01str2numspilikepython
2条回答
import string

chars = string.ascii_lowercase + string.ascii_uppercase + " ."
encode = {ch:"{:02d}".format(i) for i,ch in enumerate(chars)}

def str2numsp(s):
    return "".join(encode[ch] for ch in s)

它的工作原理是

^{pr2}$

它们必须从0开始按顺序排列,还是只想使用任何数字?可以使用每个字符的unicode值,如下所示:

ord("a") > 97, ord("b) > 98.. etc

然后你可以说

myString = "I like Python"

使用列表理解

^{pr2}$

哪些输出

[73, 32, 108, 105, 107, 101, 32, 80, 121, 116, 104, 111, 110]

然后将它们连接成字符串

"".join([str(ord(i)) for i in myString])

返回最终输出

'73321081051071013280121116104111110'

如果您希望'a'从零开始,您可以始终从每个ord()中减去97(即“a”),但必须注意特殊字符(空格、标点符号等)。在

相关问题 更多 >

    热门问题