У меня есть функция python, которая увеличивает символ на 1 значение ascii, если индекс нечетный, и уменьшает значение ascii на 1, если индекс четный. Я хочу преобразовать его в функцию, которая выполняет те же операции увеличения и уменьшения но в следующем наборе я хочу увеличить на 2, а затем уменьшить на -2, затем на 3 и -3 и т. д.
Что я пытаюсь сделать, так это увеличивать переменную счетчика на 1 каждый раз, когда четный индекс появляется после выполнения декрета ascii.
Я также не хочу делать это с for
l oop, есть ли способ сделать это в самом понимании списка?
В моей функции, если вход
input: 'abcd' output: is 'bad c' то, что я хочу, это 'baeb'
input: 'cgpf' output: это 'dfqe' то, что я хочу, это 'dfrd'
def changer(s):
b=list(s)
count=1
d=[chr(ord(b[i])+count) if i%2==0 else chr(ord(b[i])-count) for i in range(0,len(b))]
return ''.join(d)
Мне нужно что-то вроде count++
, как показано, но, к сожалению python не поддерживает его.
def changer(s):
b=list(s)
count=1
d=[chr(ord(b[i])+count) if i%2==0 else chr(ord(b[i])-count++) for i in range(0,len(b))]
return ''.join(d)
Вот исполняемый код