当前位置: 高中信息技术 / 综合题
  • 1. (2023高二下·杭州期中) 信息时代要提升个人信息安全意识,确保个人信息安全,需经常修改登录密码,小明设计一种字符加密方法,用原密码加密生成新密码。他设计的加密规则如下:

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

    ㈡将原密码中的大写字母转换成小写字母;再利用移位秘钥中对应的数字循环右移,移位秘钥不够时可以循环使用。如移位秘钥为“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)

    1. (1) 请在划线处填上合适代码。

         ②   ③  

    2. (2) 若将加框处代码 elif 改为 if,则第 14 图中生成的新密码为:

微信扫码预览、分享更方便