# 第41期-加密

Python是一门需要不断实践练习的编程语言,本文档将AI大学堂学员交流群的Python每周练习进行汇总,希望各位小伙伴能够多进行实践练习,逐渐爱上这门神奇的编程语言,掌握它并在生活中能够使用它。

# 1 问题描述

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

# 2 解题思路

  • 第一步: 输入四位整数,input函数
  • 第二步: 根据各十百千位上的数字进行变化,求整及求余函数

# 3 解题方法

def encrypt(n):
    digitsSingle = n % 10
    digitsTen = n // 10 % 10
    digitsHundred = n // 100 % 10
    digitsThousands = n // 1000 % 10
    redigitsSingle = (digitsSingle + 5) % 10
    redigitsTen = (digitsTen + 5) % 10
    redigitsHundred = (digitsHundred + 5) % 10
    redigitsThousands = (digitsThousands + 5) % 10
    redigitsThousands, redigitsSingle = redigitsSingle, redigitsThousands
    redigitsHundred, redigitsTen = redigitsTen, redigitsHundred
    return redigitsSingle + redigitsTen * 10 + redigitsHundred * 100 + redigitsThousands * 1000


n = int(input())
print(encrypt(n))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

第1行: 定义加密函数encrypt
第2-5行: 分别定义各十百千位的数字并通过计算、求整、求余等方式为其赋值
第6-9行: 根据题意为各十百千位的数字进行计算变化
第10-11行: 根据题意交换个千、十百的数字
第12行: 给函数返回加密后的值
第15行: input函数输入n的值
第16行: 打印函数值,也就是最终的加密结果值

代码运行结果为:
image.jpg

# 4 视频解析

高清视频讲解,请查看AI大学堂Python基础实战100例 (opens new window)
关注『讯飞AI大学堂』公众号,发送 python100 即可领取Python基础实战100例源代码
AI大学堂公众号.png

更新于: 12/28/2021, 7:43:14 AM