学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.65
所属科目:高中信息技术
字符串解密。小明曾经使用凯撒密码将一句英文长句进行加密,密文字母表是用正常顺序的明文字母表右移key个字母替代得到的,加密过程可表示为Ci=Ek(Pi)=(Pi+key) mod 26,例如明文为“hello world”,key值为3,由此可得到的密文为“khoor zruog”。现在小明忘记了key值是多少,只记得key是[3,10]范围内的整数,且明文中含有单词“fight”恰好出现2次。
完成解密的思路是:首先输入加密的英文长句存到字符串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)


该程序段采用的算法是______(单选,填字母:A.解析算法 / B.枚举算法)。
(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

用户名称
2019-09-19

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

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交