完成解密的思路是:首先输入加密的英文长句存到字符串miwen中,然后逐个尝试[3,10]范围内的整数作为key,逆着加密过程对每个字母进行解密,将解密的结果存到字符串mingwen中,统计mingwen中含有单词“fight”的数量,如果数量等于2,则解密成功。
(1)主程序。
miwen=input("请输入加密的英文长句:")
for k in range(3,11):
mingwen=decode(miwen,k) #解密
num=count(mingwen,'fight') #统计mingwen中含有“fight”单词数量
if num==2:
result=mingwen
break
print(result)
该程序段采用的算法是
(2)解密的decode函数如下,请在划线处填入合适的代码。
def decode(code,key):
code_new=""
for ch in code:
w=""
if "a"<=ch<="z":
w=chr((ord(ch)-ord("a")-key)%26+ord("a"))
elif "A"<=ch<="Z":
else:
w=ch
return code_new
(3)统计mingwen中含有“fight”单词数量的count函数如下,请在划线处填入合适的代码。
def count(code,word):
i=0
cnt=0
while i<len(code)-len(word)+1:
if
cnt+=1
i=i+len(word)
else:
i=i+1
return

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

