Случайно вдохновленный увеличением чисел в то время как буквы уменьшаются
Учитывая список смешанных букв и чисел (например, ['a', 2, 3, 'b']
) увеличить буквы на одну позицию в алфавите (Обмотка z
к a
) и уменьшить число на 1. Для приведенного выше примера, выход должен быть ['b', 1, 2, 'c']
.
- Входными данными могут быть список смешанного типа, строка с разделителями, список строк и т. Д.
z
оборачиваетсяa
, но1
уходит0
,0
уходит-1
и т. д.- На входе будут только
[a-z]
целые числа. Вы можете выбрать заглавные буквы в[A-Z]
качестве ввода, если это проще для вас. - Вход гарантированно не пустой.
- Ввод может содержать только цифры или только буквы.
Примеры:
Input
Output
['a', 2, 3, 'b']
['b', 1, 2, 'c']
['a', 'b', 'z']
['b', 'c', 'a']
[-1, 0, 257, 'x']
[-2, -1, 256, 'y']
[0, 3, 1, 20382876]
[-1, 2, 0, 20382875]
Правила и разъяснения
- Вход и выход могут быть заданы любым удобным способом .
- Вы можете распечатать результат в STDOUT или вернуть его как результат функции.
- Вывод не обязательно должен быть того же формата, что и ввод (например, вы можете взять ввод как строку и вывод как список).
- Либо полная программа или функция приемлемы.
- Если применимо, вы можете предположить, что целые числа ввода / вывода вписываются в родной
int
диапазон вашего языка . - Стандартные лазейки запрещены.
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).
int
диапазон языков , поэтому вы никогда не получите их Integer.MinValue
в качестве ввода.