下面怎么能完成呢?
characters = ['a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''t''u''v''w''x''y''z']
numbers = ['1''2''3''4''5''6''7''8''9''10''11''12''13''14''15''16''17''18''19''20''21''22''23''24']
text = raw_input(' Write text: ')
我试过很多方法来解决它,但无法解决问题。我想做exc。如果我输入“hello”,输出将以数字排列,就像字母表一样。示例 a = 1 < 在字母表中。
原文由 altin 发布,翻译遵循 CC BY-SA 4.0 许可协议
像这样的事情怎么样:
秩序
列表理解
ASCII 字符代码
编辑
既然你让我解释,我会……尽管 [?] 已经在评论中解释得很好了。
让我们从一行开始。
这做同样的事情,但更具可读性。在尝试理解我的第一个答案之前,请确保您可以理解这里发生的事情。这里的一切都是非常标准的、简单的 Python。需要注意的一件事是
ord
函数。 ord 代表序数,几乎每一种高级语言都会提供这种类型的功能。它为您提供了到任何字符的数字表示的映射。 ord 的反函数称为 chr。如果你自己测试,a 的序数是 97(我上面发布的第三个链接将显示完整的 ASCII 字符集。)每个小写字母都在 97-122(26 个字符)的范围内。所以,如果你只是减去96 从任何小写字母的序数开始,假设你取 ‘a’ == 1,你将得到它在字母表中的位置。所以,’b’ 的序数 == 98,’c’ == 99,等等。当你减去 96,’b’ == 2,’c’ == 3,等等。
我发布的初始解决方案的其余部分只是您可以学习的一些 Python 技巧,称为列表理解。但是,我不会像专注于学习用 任何 语言解决问题那样专注于此,其中 ord 是你的朋友。