gpt4 book ai didi

python - 如何使用 python 将列表索引值向前移动 'x' 次?

转载 作者:行者123 更新时间:2023-11-28 17:25:50 24 4
gpt4 key购买 nike

我正在尝试使用 pythonic 方法解读代码。破解密码的方法是选择前面两位的字母。

例如如果代码是

abc

那么解决方案就是

cde

所以我想弄清楚如何将 2 添加到字母的索引值(假设它在如下列表中)

alphabet = ["a","b","c"...."z"]

我正在尝试编写类似的代码

def scramble(sentence):
alphabet = ["a","b","c"...]
solution = []
for i in sentence:
newIndex = get index value of i, += 2
newLetter = translate newIndex into the corresponding letter
solution.append(newLetter)
for i in solution:
print(i, end="")

但是我对python的了解还不够熟练

最佳答案

尝试:

>>> s = 'abc'
>>> ''.join(chr(ord(c)+2) for c in s)
'cde'

以上不限于标准 ASCII:它通过 unicode 字符集工作。

将我们自己限制在 26 个字符以内

>>> s = 'abcyz'
>>> ''.join(chr(ord('a')+(ord(c)-ord('a')+2) % 26) for c in s)
'cdeab'

修改原代码

如果我们只想修改原始文件以使其正常工作:

from string import ascii_lowercase as alphabet

def scramble(sentence):
solution = []
for i in sentence:
newIndex = (alphabet.index(i) + 2) % 26
newLetter = alphabet[newIndex]
solution.append(newLetter)
for i in solution:
print(i, end="")

例子:

>>> scramble('abcz')
cdeb

关于python - 如何使用 python 将列表索引值向前移动 'x' 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39157398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com