Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何映射n个位置后的字母匹配_Python - Fatal编程技术网

Python 如何映射n个位置后的字母匹配

Python 如何映射n个位置后的字母匹配,python,Python,我想检查是否有人可以生成一个公式,我可以匹配20个位置后的字母顺序,例如,“a”匹配“u”,“b”匹配“v”,而“k”匹配回“e”。这就是简单地移动20个位置 我可以很容易地通过将字母字符串加倍来实现这一点,但它肯定可以在数学上实现。我知道对于a-f,它是n+20,对于“f-z”,它是n-6。只是想知道对于这种情况是否有任何通用公式 干杯这里有一个Python 3选项,使用ord()和chr()将单个字符转换为数字ASCII码: inp=“helloworld” 打印(inp) 偏移量=10 索

我想检查是否有人可以生成一个公式,我可以匹配20个位置后的字母顺序,例如,“a”匹配“u”,“b”匹配“v”,而“k”匹配回“e”。这就是简单地移动20个位置

我可以很容易地通过将字母字符串加倍来实现这一点,但它肯定可以在数学上实现。我知道对于a-f,它是n+20,对于“f-z”,它是n-6。只是想知道对于这种情况是否有任何通用公式


干杯

这里有一个Python 3选项,使用
ord()
chr()
将单个字符转换为数字ASCII码:

inp=“helloworld”
打印(inp)
偏移量=10
索引=[ord(x)-ord('a')+列表中x的偏移量(inp)]
输出=''.join([chr(97+(x%26))用于索引中的x])
打印(输出)
这张照片是:

helloworld
rovvygybvn

请注意,
h
变为
r
(向前10步),而
w
变为
g

有“ord”来获取字母的Unicode和ASCII编号。减去“a”的值得到一个从零开始的索引,然后使用加法和模运算。这个方法还提供一个字母索引,因此可以按顺序向后搜索。然而,它需要26人或以上的决定<代码>导入字符串;字母表=string.ascii_小写;字母表索引('a')