python求解简单加密问题,实现对输入的密文加密

    遇到这样一道题目,是要求把输入的明文进行加密,加密的方法是按照一定的转换规则进行相应的替换得到最终的密文

    转换规则为:

   把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换

 

   密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,就是y了

    下面是具体实现:

#!usr/bin/env python
#encoding:utf-8

'''
__Author__:沂水寒城
功能:加密密文
'''


def jiami():
    map_dict={'1':1,'abc':2,'def':3,'ghi':4,'jkl':5,'mno':6,'pqrs':7,'tuv':8,'wxyz':9,'0':0}
    while 1:
        one_str=raw_input()
        one_list=[]
        one_str_list=list(one_str)
        for one_char in one_str_list:
            if one_char>=0 and one_char<=9:
                one_list.append(one_char)
            elif ord(one_char)>=65 and ord(one_char)<=90:
                one_list.append(chr(ord(one_char.lower())+1))
            elif ord(one_char)>=97 and ord(one_char)<=122:
                for one_key in map_dict.keys():
                    if one_char in one_key:
                        one_list.append(str(map_dict[one_key]))
                    else:
                        pass
            else:
                one_list.append(one_char)
        print ''.join(one_list)


if __name__ == '__main__':
    jiami()

 结果如下:     
《python求解简单加密问题,实现对输入的密文加密》     

YUANzhi1987
zvbo9441987
1234567890
1234567890
*()%¥#@
*()%¥#@
ADBFGKL
becghlm
acvdfjweiojl
228335934655
AHJjdsfhvj()*&23jkfd
bik5373485()*&235533
    原文作者:维吉尼亚加密问题
    原文地址: https://blog.csdn.net/Together_CZ/article/details/76082112
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞