新大榭论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

《新大榭》- 创大榭地方网络社区先锋品牌 新大榭始终专注于地方网络社区平台的建设 关于我们- [大记事]- 留言建议- [新手报道]

发布 .新大榭软件管家(Excel版) V5.9版 财务/仓库/生产/销售/采购/行政/人事/校园 .公告 - 客户 - 打赏 - 职场 - Excel - Python.

新大榭镜像-音乐-法律-图书-高中课堂-实验 广告是为了能更好的发展 [欢迎商家支持本站互利共赢] 广告位招租.首页黄金广告位等您来!联系 13566035181

查看: 521|回复: 0

[必修2] 7806 - 《信息技术》(必修二)P106【课件源代码】凯撒密码算法程序实现程序清单

 关闭 [复制链接]
发表于 2021-9-27 13:08:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!

您需要 登录 才可以下载或查看,没有账号?注册

x
  1. """
    , G8 a5 b: k( i( n8 V( C2 @9 v
  2. 《信息技术》(必修二)P106 凯撒密码算法程序教科书所示源代码2 C. U1 g0 H% x# Q! w" Z

  3. 4 \3 R2 C6 F: v7 v! _) w( h
  4. """
    ) H3 x1 P, I' h6 `! F3 B" a3 r
  5. def  change(code,key):* L- S+ u- |( e0 h+ h9 w3 s1 u
  6.     code= code.lower()
    4 ^* {' g+ y. b2 C
  7.     m = ord(code)& K3 k8 N3 A! U1 Q2 I' I
  8.     if m >= 97 and m <= 122:- Y/ i, Y2 G/ h! G( J
  9.         m = 97 + ((m - 97) + key) % 26 . N3 P+ ^5 W4 x, {  ^% l
  10.     return chr(m)
    9 T+ l, i$ R1 M* v
  11. 3 ^) h( C" \7 h3 q  y
  12. def  encrypt(code,key):
    0 \6 {5 M! E4 G2 M; x1 F
  13.     code_new =""+ e2 U9 D1 [0 _4 ^
  14.     for s in code:) i" Y  `" x2 a
  15.         code_new += change(s,key)
    5 e0 B9 J( b9 _' y) b( v' D
  16.     print(code_new)
    / {& Q3 d  z5 j
  17.     return code_new" X& ~& `3 ~5 |% A  }+ `
  18. , h: l, |4 b3 ?2 |& _
  19. def  decrypt(code,key):
    ; J9 p, m6 Y! O1 Z
  20.     code_new =""
    ( N; U3 V- H" G
  21.     for s in code:" G8 O% E. t$ H  u" }# b1 Q
  22.         m=ord(s)
    ; ^2 a- S, U0 K  F
  23.         code_new +=chr(m-key)
    9 \+ P7 U5 F' u! `8 L/ f
  24.     print(code_new)  P! Q! I6 d! F. z
  25.     return code_new
      d" \5 J% Y& x0 V2 w0 v0 r

  26. . f$ B; V1 O! z# Q, C
  27. def main():
    & N( S$ k, f$ a/ |3 a2 ^
  28.     print("请选择数字1或2:")2 r3 U, i9 C2 A5 [; L* `
  29.     print("1:加密")% T9 j% K% b  W9 n) q: O% K8 d: }
  30.     print("2:解密")
    * l+ X, A  Q4 h+ j2 s) F
  31.     select = input(), T1 z; Z  T9 ~; H% ]
  32.     if select == "1":
    ( g* F3 v' O% h( U
  33.         code = input("请输入加密字符串:")
    1 C5 @4 b; p7 S* V& V
  34.         key = int(input("请输入偏移位数:"))% _9 o" d3 W' S; _& ]0 l& o  O
  35.         encrypt(code,key)# _' Q9 S9 ]  J8 I, d
  36.     elif select == "2":% W2 ]% B/ ~) c
  37.         code = input("请输入解密字符串:")! Q' {, ~4 G4 S1 N
  38.         key = int(input("请输入偏移位数:"))
    3 `! Y& B9 |4 z
  39.         decrypt(code,key)! @% f3 ^5 G: F
  40.     else:
    ) {2 ~- j2 C* r4 W
  41.         print("输入错误,请重试!")
    * q* \& U+ Q9 {. [: H, c* Y
  42.         $ S: Z' ~# q3 _! n. t  C
  43. if __name__ == '__main__':7 p/ F' V1 K9 r/ B' G" U: O1 d- e
  44.     main()
    5 f% c0 }: N: o9 f9 A; l
  45.    
    5 @) q; n  R# g2 P3 d
  46. '''# M( P2 o! x5 ^5 L' \# O4 Q7 p
  47. 注:该案例所有字符串均加密为小写字母显示,请同学们想一想,如果都想转成大写字母显示该如何修改呢?
    " _0 a* u  k) l; [8 c! J9 Z! @
  48.     1 G/ |/ X1 Q  Q. Z; M# J
  49. '''
复制代码

7806-01-01:凯撒密码加解密(原版).py

1.25 KB, 下载次数: 41, 下载积分: 财富 -1 点

默认小写字母显示

7806-01-02:凯撒密码加解密(大写字母版).py

1.09 KB, 下载次数: 41, 下载积分: 财富 -1 点

大写字母修改版

新大榭Python学习社区培训、Excel业务指导、办公软件定制、网站建设;新大榭探索实验室欢迎您!http://lab.daxie.net.cn/
Q群推荐 大榭本地求职招聘QQ群,欢迎转发分享本地招聘信息资讯! 官方招聘1群(已满);官方招聘2群:315816937 *
您需要登录后才可以回帖 登录 | 注册

本版积分规则

文字版|小黑屋|新大榭 ( 浙ICP备16018253号-1 )|点击这里给站长发消息|

GMT+8, 2026-2-4 09:41 , Processed in 0.095828 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表