题目:
将输入的字符串(字符串仅包含小写字母a到z)按照如下规则,循环转换后输出:
a->b,b->c,…,y->z,z->a;
说明:
1、若输入的字符串连续出现两个字母相同时,后一个字母需要连续转换2次。例如:aa 转换为 bc,zz 转换为 ab;
2、当连续相同字母超过两个时,第三个出现的字母按第一次出现算。
def transform_string(input_str):
output = ""
for char in input_str:
if char == 'z':
output += 'a'
else:
output += chr(ord(char) + 1)
return output
def cyclic_transform(input_str):
transformed_str = transform_string(input_str)
output_str = ""
prev_char = None
count = 0
for char in transformed_str:
if char == prev_char:
count += 1
if count == 2:
output_str += char
count = 0
else:
output_str += transform_string(char)
else:
output_str += char
prev_char = char
count = 0
return output_str
input_str = input()
output_str = cyclic_transform(input_str)
print(output_str)