⑴ 求python 凯撒密码 加码和解码
输入:CAT
输出:DBU
importstring
defcaesar_shift(s):
#Writeyourcodehere
#
#Example:print"Helloworld!"
table=string.maketrans(string.ascii_uppercase,string.ascii_uppercase[1:]+string.ascii_uppercase[:1])#1表示加密时右移1位
prints.translate(table)
caesar_shift("CAT")
str.maketrans()是创建一个字符翻译表,而str.translate()就是根据这个翻译表,翻译这个字符串。(比按asc码求模更简洁)
string.translate(table [, deletechars])
string.maketrans(intab, outtal)
如果解决了您的问题请采纳!
如果未解决请继续追问
⑵ python凯撒密码实现
#codinng=utf-8
x='abcdefghijklmnopqrstuvwxyz'.split('')
y='nopqrstuvwxyzabcdefghijklm'.split('')
X=map(lambdax:x.upper(),x)
Y=map(lambdax:x.upper(),y)
dict_kaisa=dict(zip(x+X,y+Y))#创建一个字典,键为原字符串,值为加密字符串
#定义凯撒加密函数,输入字符串,输出凯撒加密后字符串
defkaisa(string):
result=[]
foriinrange(len(string)):
ifstring[i]indict_kaisa.keys():
result.append(dict_kaisa[string[i]])
else:
result.append(string[i])
return''.join(result)
print(kaisa('TheZenofPython'))#结果为GurMrabsClguba
⑶ python编程 凯撒密码
我觉得是因为你那句if, 'Z'的ascii码(十进制)为90, 而 'z'对应的为122。语句判断如果输入的字符串的值+前面写的值大于'Z'(90)并且大于'z'(122),也就是说得到的值必须大于122才进行之后的-26的操作,由于90+5<122 所以没有执行-26 得到的就是95 即'_'这个字符。希望可以帮助到你,望采纳。
⑷ 用Python2.7.10编写凯撒密码加密和解密程序
s=raw_input('[开始加密]pleaseinputyourstr:')
s=list(s)
n=0
forswins:
s[n]=chr(ord(sw)+3)
n=n+1
sout=''
forsw2ins:
sout=sout+sw2
print'[加密结果]:',sout
解密的类似,主要用到ord、chr函数。
⑸ 怎样用python中的字典编写对凯撒密码的加密和解密的程序不用字典呢
//1. Math.ceil()用作向上取整。
//2. Math.floor()用作向下取整。
alert(Math.ceil(10/3));//4
alert(Math.floor(10/3));//3
alert(Math.round(10/3));//3
⑹ 怎么用Python编辑出此凯撒密码的解密密码
凯撒密码的加密密钥与解密密钥是相反数,因此,k给相反数即可:
kaisa(kaisa(s, 3), -3)
⑺ 用Python语言从文件夹中提取文件进行凯撒加密
import string
def kaisa(s, k): #定义函数 接受一个字符串s 和 一个偏移量k
lower = string.ascii_lowercase #小写字母
upper = string.ascii_uppercase #大写字母
before = string.ascii_letters #无偏移的字母顺序 小写+大写
after = lower[k:] + lower[:k] + upper[k:] + upper[:k] #偏移后的字母顺序 还是小写+大写
#分别把小写字母和大写字母偏移后再加到一起
table = ''.maketrans(before, after) #创建映射表
return s.translate(table) #对s进行偏移 即加密
s = input('请输入一个字符串:')
k = int(input('请输入一个整数密钥:'))
print(kaisa(s, k))
调用此函数
⑻ 如何使用python中的字典来编写一个对凯撒密码的加密和解密不用字典呢
}
n++;
/* if some extreme situation, maybe dead loop */
if ( n > 1000000){
h->collision_times += n;
memcpy(h->save_info_base + 16, &h->collision_times,8);
return -2;
}
⑼ jmu-python-凯撒密码加密算法,谢谢
def encryption():
str_raw = input("请输入明文:")
k = int(input("请输入位移值:"))
str_change = str_raw.lower()
str_list = list(str_change)
str_list_encry = str_list
i = 0
while i < len(str_list):
if ord(str_list[i]) < 123-k:
str_list_encry[i] = chr(ord(str_list[i]) + k)
else:
print ("解密结果为:"+"".join(str_list_decry))
while True:
print (u"1. 加密")
print(u"2. 解密")
choice = input("请选择:")
if choice == "1": encryption()
elif choice == "2": decryption()
else: print (u"您的输入有误!")
⑽ python凯撒密码,编程,急用
def use_list(): str_before=input("请输入明文:") str_change=str_before.lower() str_list=list(str_change) str_list_change=str_list i=0 whilei