美文网首页经验App:聚合职场优选内容文学创作
Python练习实例89 | 关于数字加密算法

Python练习实例89 | 关于数字加密算法

作者: 暮光微晓破倾城 | 来源:发表于2020-06-28 21:04 被阅读0次

    原题目是这样的:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

    轻骑,一骑绝尘!.jpg

    多余的话就不多说了,我们直接看下面的代码吧!

    if __name__ == '__main__': # 定义程序入口
        num = input("请输入需加密的数字:") # 输入需要加密的数字
        str_num = '' # 创建一个空的字符串
        for i in range(4): # 创建一个循环
            str_num += str(int((int(num[i])+5)%10)) # 输入的数字中,每一个数字转换为整型,加上5,然后再对其进行求余。
        i,j,k,l = str_num[0],str_num[1],str_num[2],str_num[3] # 将控制好的变量,分别赋值给i,j,k,l
        print('加密后的数据为:%s'%str_num[::-1]) # 打印出结果,并逆序输出结果
    

    具体的结果如下所示:

    C:\Python\python.exe "C:/Users/Administrator/Desktop/Python 练习实例100题/练习实例89.py"
    请输入需加密的数字:2535
    加密后的数据为:0807
    
    Process finished with exit code 0
    

    当然,除了这种方法之外,我们还有另外一种方法,这种方法从逻辑上,相对来说更加容易一些。

    num = int(input("请输入一个数字:"))
    list_num = [] # 创建一个空列表
    list_num.append(int(num / 1000)) # 将输入数字的千分位添加到空列表中
    list_num.append(int(num % 1000) / 100 ) # 将输入数字的百分位添加到空列表中
    list_num.append(int(num % 100) / 10) # 将输入数字的十分位添加到空列表中
    list_num.append(int(num % 10)) # # 将输入数字的个分位添加到空列表中
    for i in range(4): # 逐个对列表中的元素进行+5,并做求余处理
        list_num[i] = int((list_num[i] + 5) % 10)
    print("加密后的数据为:",end='')
    for i in range(-1,-5,-1): # 对列表当中的元素逐个进行逆向的访问,并输出。
        print(list_num[i],end='')
    

    下面我们来看下最终输出的结果:

    C:\Python\python.exe "C:/Users/Administrator/Desktop/Python 练习实例100题/练习实例89 方法二.py"
    请输入一个数字:0564
    加密后的数据为:9105
    Process finished with exit code 0
    

    北京市通州区京贸中心
    2020年6月28日

    相关文章

      网友评论

        本文标题:Python练习实例89 | 关于数字加密算法

        本文链接:https://www.haomeiwen.com/subject/yarwfktx.html