
python凯撒密码实现 20
凯撒密码实现题目内容:实现一个凯撒密码的变种算法,对输入字符串进行加解密处理把字母a-z分别循环对应为相距13个位置的字母n-m,即原文字母:abcdefghijklmn...
凯撒密码实现
题目内容:
实现一个凯撒密码的变种算法,对输入字符串进行加解密处理
把字母a-z分别循环对应为相距13个位置的字母n-m,即
原文字母:a b c d e f g h i j k l m n o p q r s t u v w x y z
对应字母:n o p q r s t u v w x y z a b c d e f g h i j k l m
大写字母对应方式与小写字母类似,其他符号(含标点符号)不作处理
输入格式:
一个英文字符串
输出格式:
经过上述算法加密的字符串
输入样例:
The Zen of Python
输出样例:
Gur Mra bs Clguba 展开
题目内容:
实现一个凯撒密码的变种算法,对输入字符串进行加解密处理
把字母a-z分别循环对应为相距13个位置的字母n-m,即
原文字母:a b c d e f g h i j k l m n o p q r s t u v w x y z
对应字母:n o p q r s t u v w x y z a b c d e f g h i j k l m
大写字母对应方式与小写字母类似,其他符号(含标点符号)不作处理
输入格式:
一个英文字符串
输出格式:
经过上述算法加密的字符串
输入样例:
The Zen of Python
输出样例:
Gur Mra bs Clguba 展开
3个回答
2017-05-09
展开全部
# codinng=utf-8
x = 'a b c d e f g h i j k l m n o p q r s t u v w x y z'.split(' ')
y = 'n o p q r s t u v w x y z a b c d e f g h i j k l m'.split(' ')
X = map(lambda x: x.upper(), x)
Y = map(lambda x: x.upper(), y)
dict_kaisa = dict(zip(x + X, y + Y)) # 创建一个字典, 键为原字符串, 值为加密字符串
# 定义凯撒加密函数, 输入字符串, 输出凯撒加密后字符串
def kaisa(string):
result = []
for i in range(len(string)):
if string[i] in dict_kaisa.keys():
result.append(dict_kaisa[string[i]])
else:
result.append(string[i])
return ''.join(result)
print(kaisa('The Zen of Python')) # 结果为Gur Mra bs Clguba
展开全部
def main():
st = input()
sr1="abcdefghijklmnopqrstuvwxyz"
sr2=sr1.upper()
sr=sr1+sr1+sr2+sr2
sResult=""
for j in st:
if j==" ":
sResult = sResult +" "
continue
i=sr.find(j)
if(i>-1):
sResult=sResult+sr[i+13]
print(sResult)
main()
但是检查了下发现 字符并没有按原字符输出而是直接舍弃,请让我再花时间修改一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
# -*- coding: utf-8 -*-
"""
Created on Sun Sep 24 21:05:57 2017
@author:
"""
x='a b c d e f g h i j k l m n o p q r s t u v w x y z'.split(' ')
y='n o p q r s t u v w x y z a b c d e f g h i j k l m'.split(' ')
#X=map(lambda x:x.upper(),x)
X='A B C D E F G H I J K L M N O P Q R S T U V W X Y Z'.split(' ')
#Y=map(lambda x:x.upper(),y)
Y='N O P Q R S T U V W X Y Z A B C D E F G H I J K L M'.split(' ')
kaisa=dict(zip(x+X,y+Y))
def fun(s):
ans=[]
for i in range(len(s)):
if s[i] in kaisa.keys():
ans.append(kaisa[s[i]])
else:
ans.append(s[i])
return ''.join(ans)
input_s=input()
input_l=list(input_s)
ll=len(input_l)
result=[]
for i in range(ll):
result.append(fun(input_l[i]))
print(''.join(result))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询