python数字形式转换i_在Python中将字母转换为数字

像这样的事情呢: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。所以,当你减去96,'b'==2,'c'==3,等等时,序数是'b'==98,'c'==99

我发布的最初解决方案的其余部分只是一些Python技巧,您可以学习称为列表理解。但是,我不会像专注于学习在任何语言中解决问题那样专注于这个问题,因为ord是你的朋友。我希望这能有帮助。

你可能感兴趣的:(python数字形式转换i)