将一串数字转换为字母python

时间:2012-02-14 23:20:56

标签: python

我需要将一串数字转换为字母串形成单词示例:如果您的程序输入是1920012532082114071825463219200125320615151209190846则应该返回保持饥饿状态。保持愚蠢。

我有一个程序可以将一个单词转换为一串数字:

string = raw_input('Please enter your string of lowercase characters: ')

Dictionary = {'a':'00', 'b':'01', 'c':'02', 'd':'03', 'e':'04', 'f':'05',
              'g':'06', 'h':'07', 'i':'08', 'j':'09', 'k':'10', 'l':'11',
              'm':'12', 'n':'13', 'o':'14', 'p':'15', 'q':'16', 'r':'17',
              's':'18', 't':'19', 'u':'20', 'v':'21', 'w':'22', 'x':'23',
              'y':'24', 'z':'25', ' ':'32', '.':'46'}

n = ''

p= 0

for character in string:
    n += Dictionary[string[p]]
    p += 1

print n

所以我需要制作一个程序,它接受数字串(n)并将其转换回原始单词。

真的不知道该怎么做,所以任何帮助都会受到赞赏!

2 个答案:

答案 0 :(得分:0)

创建一个包含键和值的字典:

revdict = dict([v,k] for k,v in Dictionary.items())

一次扫描输入的两个字符并使用反向字典进行转换。 请记住,您可以使用索引来访问字符串的不同部分:

"12345"[0:2] # returns "12"

答案 1 :(得分:0)

首先,您不需要通过索引访问字符,循环中定义的character变量实际上会在每个字符向前移动时存储:

for character in string:
    n += Dictionary[character]

然后你也不需要p

现在,问你的问题:

ord()方法获取给定字符的ascii表示。在Google上查找ascii表以了解这一点。

然后,如前所述,您需要做的就是一次遍历字符串两个字符(这里按索引迭代会很有用),将这些值转换为整数然后将该整数转换为字符。

我打算发布一个完整的算法。但我后来意识到这可能是功课。无论哪种方式,我在这里给你的就足够了。