# 第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
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行: 打印函数值,也就是最终的加密结果值
代码运行结果为:
# 4 视频解析
高清视频讲解,请查看AI大学堂Python基础实战100例 (opens new window)
关注『讯飞AI大学堂』公众号,发送 python100 即可领取Python基础实战100例源代码