在 Python 中以给定数量的位置移动字符后获取最终字符串的程序
假设我们有一个小写字符串s和另一个称为shifts的整数列表,其长度与s的长度相同。这里shifts[i]中的每个元素表示将s的前i+1个字母移动shifts[i]位置。如果移位穿过'z',它将被包装到'a'。我们必须在对s应用移位后找到结果字符串。
因此,如果输入类似于s="tomato"shifts=[2,5,2,3,7,4],那么输出将是"qjcoes"因此,在将第一个字符移动2个位置后,它将是't'到'v',所以字符串是“vomato”,然后是前两个字符5位。字符串现在将是“atmato”,最终字符串将是“qjcoes”。
示例
让我们看看以下实现以获得更好的理解-
def solve(s, shifts):
start = ord("a")
res = [ord(i) - start for i in s]
for i in range(len(shifts) - 2, -1, -1):
shifts[i] += shifts[i + 1]
for i in range(len(s)):
c = (res[i] + shifts[i]) % 26
res[i] = chr(c + start)
return "".join(res)
s = "tomato"
shifts = [2, 5, 2, 3, 7, 4]
print(solve(s, shifts))输入
[2, 1], 3, 2输出结果
qjcoes
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短