用户:
梦里觅深海查看:0 回复:1 评论:0 创建时间:2019-11-18T20:43:57
【作品展示】

【作品介绍】
本作品的创作原因是,《Python游戏编程快速上手》这本书中有讲,于是有动力开始摸索。
【作品源代码】
#蓝之音分享,凯撒密码
a='''abcdefghijklmnopqrstuvwxyz,.!?'"()`~@#$%^&|<>{}[]:;*/\1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ'''
while True:
inp=''
while True:
if (inp != '1') and (inp != '2'):
print('你要加密还是解密?(1加密2解密)')
inp = str(input())
else:
break
if inp=='1':
print('你想加密什么内容?')
while True:
nn=input()
n=list(nn)
c=False
for i in range(len(n)):
if n[i] not in a:
c=True
if not c:
break
else:
print('无法加密此信息,请重新输入。')
print('请输入加密数字(1~25)')
while True:
q=input()
if q in ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25']:
break
else:
print("请输入正确数字(1~25)")
j = ''
for i in range(len(n)):
if int(a.find(n[i]))+1+int(q)>len(a):
s = int(a.find(n[i]))+int(q)-len(a)
j = j+a[s]
else:
j = j + a[int(a.find(n[i]))+int(q)]
print('加密后信息为:'+j)
if inp=='2':
print('你想解密什么内容?')
while True:
nnn = input()
nq = list(nnn)
c = False
for i in range(len(nq)):
if nq[i] not in a:
c = True
if not c:
break
else:
print('无法解密此信息,请重新输入。')
while True:
print('请输入解密码(1~25)')
p=input()
if p in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25']:
break
else:
print("请输入正确数字(1~25)")
j = ''
for i in range(len(nq)):
if int(a.find(nq[i]))-int(p) < 0:
s = 0-(int(a.find(nq[i]))-int(p))
s=abs(s)
j = j+a[len(a)-s]
else:
j = j + a[int(a.find(nq[i]))-int(p)]
print('解密后信息为:'+j)
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn