这样的事情:
print [ord(char) - 96 for char in raw_input('Write Text: ').lower()]
编辑
因为你问我解释我会…虽然已经很好地解释了在[[]]的评论。
让我们在更多的一行开始。
input = raw_input('Write Text: ')
input = input.lower()
output = []
for character in input:
number = ord(character) - 96
output.append(number)
print output
这做同样的事情,但更可读。在你尝试了解我的第一个答案之前,确保你能理解这里发生了什么。这里的一切都是很标准的,简单的Python。需要注意的一点是ord函数。 ord代表序数,几乎每一种高级语言都有这种类型的函数可用。它给你一个映射到任何字符的数字表示。 ord的反函数称为chr。
chr(ord('x')) == 'x' # for any character, not just x.
如果你自己测试,a的顺序是97(我上面发布的第三个链接将显示完整的ASCII字符集。)每个小写字母的范围是97-122(26个字符)。因此,如果你只是减去96从任何小写字母的序数,你会得到它的位置在字母表假设你’a’== 1.所以,顺序的’b’== 98,’c’== 99,等当你减法96,’b’== 2,’c’== 3等。
我发布的最初的解决方案的其余部分只是一些Python诡计你可以学习称为列表解析。但是,我不会专注于那么多,因为我会专注于学习解决任何语言的问题,其中ord是你的朋友。我希望这有帮助。