VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • 密码类

一、凯撒密码:
替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面的第三个字符,特殊符号不进行加密处理

对于原文中的字符P,其密文字符C满足如下条件:

凯撒密码的加密方法:C=(P+3)mod 26

凯撒密码的解密方法:P=(C-3)mod 26

   加密第一种方法:

1
2
3
4
5
6
7
8
plaincode = input()
for in plaincode:
    if ord("a") <= ord(p) <= ord("z"):
        print(chr (ord("a")+(ord(p)-ord("a")+3)%26),end='')
    elif ord("A") <= ord(p) <= ord("Z"):
        print(chr (ord("A")+(ord(p)-ord("A")+3)%26),end='')
    else:
        print(p,end='')

 第二种方法:

输入格式:第一行是一个字符串;第二行是一个正整数

输出格式:一个字符串,内容为用户输入字符串加密后的结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
plaincode = input()
num = int(input())
'''
原文字符P,密文字符C,偏移量num满足下列条件
C = (P + num) mod 26
P = (C - num) mod 26
ord函数:返回用来表示内存中相应字符的实际二进制值(底层整数码-ASCII字节值)
chr函数:获取整数码并将其转换为对应的字符
'''
for in plaincode:   # 使用上面的方法计算
    if ord("a") <= ord(p) <= ord("z"):
        print(chr(ord('a')+(ord(p)-ord('a')+num)%26),end='')
    elif ord("A") <= ord(p) <= ord("Z"):
        print(chr(ord('A')+(ord(p)-ord('A')+num)%26),end='')
    else:
        print(p,end="")

相关教程