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 分)答案解析

上一题
下一题