组卷题库 > 高中信息技术试卷库
试题详情
信息时代要提升个人信息安全意识,确保个人信息安全,需经常修改登录密码,小明设计一种字符加密方法,用原密码加密生成新密码。他设计的加密规则如下:

㈠将原密码中的小写字母转换成大写字母;

㈡将原密码中的大写字母转换成小写字母;再利用移位秘钥中对应的数字循环右移,移位秘钥不够时可以循环使用。如移位秘钥为“312”,待加密字母“abcde”,则应将字母a,b,c,d,e分别循环右移3位、1位、2位、3位、1位;

㈢将原密码中的数字转换为与其对称的数字,例如:0→9,3→6,5→4……9→0;

㈣原密码中其它特殊字符不改变。

程序运行界面如图所示,实现上述功能的程序代码段如下:

def change(zf):

    if "A"<=zf<="Z":

        s=zf.lower() else:    #将字符 zf 中的大写字母转化为小写字母

    else:

        s=zf.upper()              #将字符 zf 中的小写字母转化为大写字母

    return    ① 

pw=input("请输入原密码:")

yw=input("请输入移位秘钥: ") res="";n=0

for ch in pw:

    if  "a"<=ch<="z":

        ch=change(ch)

    "A"<=ch<="Z": ch=change(ch)

        ch=chr((ord(ch)-97+int(yw[n]))%26+97)

        n=    ② 

    elif "0"<=ch<="9":

        ch=    ③ 

    res=res+ch

print("生成新密码:",res)

知识点
参考答案
采纳过本试题的试卷
教育网站链接