有一个取巧的解法
解密
http://www.nowcoder.com/questionTerminal/1b916de18534437a8db121e21456ffd0
先按照加密算法做一个密码对照表,然后根据输入逐字翻译出来就好。
ipt = input().split() k1 = int(ipt[0]) k2 = int(ipt[1]) string = input() # 密码对照表 tables = {} for x in range(97, 123): C = (k1*(x-97) + k2) % 26 tables[chr(C+97)] = chr(x) for s in string: if not s.islower(): # 大小写对应输出 print(tables[s.lower()].upper(), end='') else: print(tables[s], end='')
当然,这只是一个取巧的方法,主要是想了太久想不出来灵光一现。:)