下面代码用于对学号加密。
s=int(input('请输入学号: '))
s=str(s<<3)
s1=s[1::2]
s2=s[::2]
t1=s1+s2
t2=t1[::-1]
print('学号加密后:'+t2)
(1)编写程序u1Decode.py完成对加密学号的解密。
(2)程序执行效果:
输入加密后的学号:233111476
解密后的学号为:20216789
def dec(s):
s = s[::-1]
i = int(len(s)/2)
s1 = s[:i]
s2 = s[i:]
res = ''
for i in range(len(s1)):
res+=s2[i]+s1[i]
res+=s2[i+1]
return int(res)>>3
n = input()
print(dec(n))
# 输入加密后的学号:233111476
# 解密后的学号为:20216789
s=int(input('输入加密后的学号:'))
#s = 233111476
t1 = str(s)[::-1]
s1 = s2 = ''
#print(t1)
s1 = t1[:int(len(t1)/2)]
s2 = t1[int(len(t1)/2):]
#print(s1,s2)
news =''
for x,y in zip(s1,s2):
news += y
news += x
if len(s1) > len(s2):
news += s1[-1]
elif len(s1) < len(s2):
news += s2[-1]
#print(news)
print('解密后的学号为:{}'.format(int(news)>> 3))
s = input()#输入
s = s[::-1]#倒序
s1 = s[:len(s)//2]#切片
s2 = s[len(s)//2:]#切片
s = ''.join([s2[i]+s1[i] for i in range(len(s)//2)])#合并
s += s1[-1] if len(s1)>len(s2) else s2[-1]#处理特殊
s = int(s)>>3#移位
print('解密后的学号:'+str(s))#输出