import sys
def getascii(n,s):
res = []
for i in s:
temp =ord(i)+n
while temp > 122: # 合法范围:97-122
temp = temp-122+96
res.append(temp)
return res
def reduction(s):
res = ''.join([chr(i) for i in s])
print(res)
if __name__=='__main__':
data = sys.stdin.read().strip().split('\n')
n = int(data[0])
s = list(map(str,data[1].strip()))
asciis=getascii(n,s)
reduction(asciis)
思路是这样的:s每个字符切片,然后获取各个字符的ascii码,小写英文字符的ascii码在97-122之间,超过就要减少。由于n有可能大于26,所以用的是while而不是if

京公网安备 11010502036488号