测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A42197. 字符加密。 将大写字母逐个按其 ASCII 值转换为 7 位二进制数, 并在最左边补 0,使得每个字母转换为 8 位二进制数, 然后将 8 位二进制数每四位转为十六进制数。如明文是"CIE",加密后的密文是"434945"。编写的python程序如下,完善划线处的代码。def xtob(n): #将整数转为二进制数

填空题 较难

题目描述

字符加密。 

将大写字母逐个按其 ASCII 值转换为 7 位二进制数, 并在最左边补 0,

使得每个字母转换为 8 位二进制数, 然后将 8 位二进制数每四位转为十六进制数。

如明文是"CIE",加密后的密文是"434945"。编写的python程序如下,完善划线处的代码。

def xtob(n): #将整数转为二进制数

参考答案

说明: 本题将每个大写字母转换为二进制数, ①处代码是递归的方法将十进制转二进制, 若整数不是 0 或 1 的时候, 继续整除 2, 因此①处代码是 xtob(n//2)+str(n%2); 8 位二进 制数每 4 位二进制数转十六进制数, 因此②处的代码是 data * 2 + int(s[i]) ; ③处的代码 是循环变量 i 自增 1, 因此该处代码是 i=i+1。 评分标准: (1) str(n%2) ; (4 分) (2) int(s[i]) ; (4 分) (3) i += 1 或 i=i+1。 (4 分)

答案解析

上一题 下一题