python-情报加密副本

【问题描述】某情报机构采用公用电话传递数据,数据是5位的整数,在传递过程中是加密的。加密规则如下:每位数字都加上8,然后用和除以7的余数代替该数字,再将第1位和第5位交换,第2位和第4位交换。请编写程序,完成明文至密文的加密过程。

【输入形式】输入一个5位整数

【输出形式】输出加密后的密文整数

【样例输入】12345

【样例输出】65432

++完整代码如下:++

n=int(input())

a=\[\]

if 10000>n or 99999<n:

print("您输如的不是五位数,请重新输入:")

else:

b=n%10

c=n//10%10

d=n//100%10

e=n//1000%10

f=n//10000

g=b,c,d,e,f

for i in range(len(g)):

g0=g0+8

g0=g0%7

a.append(g0)

del g0

print("{}{}{}{}{}".format(a0,a1,a2,a3,a4))

++代码解释:++

"n=int(input())

a=\[\]

if 10000>n or 99999<n:

print("您输如的不是五位数,请重新输入:") ",让用户输入一个五位数,建立一个空列表,并判断用户输入的是不是五位数。

"else:

b=n%10

c=n//10%10

d=n//100%10

e=n//1000%10

f=n//10000 ",判断是五位数的情况下分别求出该五位数的个,十,百,千,万位数字。

"g=b,c,d,e,f",将分别求出的该五位数的个,十,百,千,万位数字按个,十,百,千,万的顺序存入列表g中。

"for i in range(len(g)):

g0=g0+8

g0=g0%7

a.append(g0)

del g0 ",按照加密规则:利用循环将列表g中每个数字都加上8,然后用和除以7的余数代替该数字。然后将替代该数字的余数存入列表a中,之后将列表g中替代该数字的余数删除。

"print("{}{}{}{}{}".format(a0,a1,a2,a3,a4))",由于列表添加的默认顺序为添加到列表的最后末尾,因此列表a中五位数字的排列顺序已经在将g列表中余数存入列表a中时掉转,此时只需要按正常顺序排列即可。

++运行效果展示:++

++++

++(声明:以上内容均为原创)++

相关推荐
牧以南歌〆13 分钟前
数据结构<八>链式队列
c语言·数据结构·算法
小小的木头人17 分钟前
Python 批量解析 Excel 经纬度,调用高德地图 API 获取中文地址
开发语言·python·excel
金銀銅鐵34 分钟前
[Python] 为 Vole 机器语言实现图形化界面
python·程序员
一个初入编程的小白37 分钟前
数据结构:队列和栈的相互实现
数据结构
小林ixn1 小时前
Python基础全梳理:从注释到函数,这些细节你都掌握了吗?
python·编程语言
今天AI了吗2 小时前
Hermes Agent 搭建全流程:从本机试跑到可持续运行的个人 AI Agent
java·人工智能·python·学习·embedding
为啥全要学3 小时前
自注意力中随着根号dk的增大,qk点积的方差为什么也会增大
python·深度学习
来两个炸鸡腿3 小时前
【Datawhale2607】llm-algo-leetcode task02 基础算子
人工智能·python·大模型
庵中十三居士4 小时前
【纯AI无人工修改】AI Agent从0到1实战:50行Python手写核心循环,一次看懂所有Agent框架的底层逻辑
开发语言·人工智能·python
有同事要进步4 小时前
python常见问题--2
开发语言·python