学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.85
所属科目:高中信息技术
凯撒密码是应用替代方法加密的经典例子。例如,密文字母表是用正常顺序的明文字母表右移3个字母替代得到的,如下图所示,这里的密钥为3。

小明编写了一个凯撒加密算法:输入明文(由大写字母、小写字母和数字字符组成)和密钥Key∈[0,25],将明文的每个字符往右循环移动Key位得到密文并输出。若输入密文和密钥Key,则输出明文。
(1)如下表为明文是'1aZ',key=8,获得密文'9iH'的加密过程:

明文字符

'1'

'a'

'Z'

key

8

密文字符

'9'

'i'

'H'

若明文是'43aB',密钥 key=5,则密文为________
(2)主程序代码如下:
select=input("加密还是解密?加密输入1;解密输入0:")
ifselect=="1":

sp=input("请输入明文P:")

key=int(input("请输入密钥:"))

sc=encrypt(sp,key)

print(sc)


else:

sc=input("请输入密文C:")

key=int(input("请输入密钥:"))

sp=decrypt(sc,key)

print(sp)


主程序根据输入1或0,决定应当执行加密/解密程序代码,这体现了以下哪个基本算法结构________(单选,填字母:A.顺序结构/B.分支结构/C.循环结构)。
(3)函数change(ch,key)的功能:将字符ch替代成循环往右移动key位后的字符。
defchange(ch,key):       #传入参数字符ch和密钥key,返回转换后的字符

m=ord(ch)

if ch>='a' and ch<='z':

m=m-ord('a')+key

if m>=26:

m-=26

m+=ord('a')

elif ch>='A' and ch<='Z':

m=_______

if m>=26:

m-=26

m+=ord('A')

else:

m=(m-ord('0')+key)%10+ord('0')

return_______


请在划线处①②填入合适代码。
(4)算法的程序代码如下,请在划线处填入合适代码。
def encrypt(code,key):       #对明文code,使用密钥key进行加密

code_new=""

for i in range(len(code)):

ch=code[i]

code_new+=________

return code_new


def decrypt(code,key):
#解密算法代码略
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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
我要答疑
编写解析
解析:

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

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