Alstudio 课程地址:飞桨AI Studio – 人工智能学习实训社区 (baidu.com)
Python 小白到精通——第二章:图灵和恩尼格马密码机2(文本分析)
今天的任务:破解密钥
原以为是像昨天一样,用已有的密码表,转换一下文本就好了。没想到,今天没有密码表! 当我听到说用统计和对比字母出现的频率的方法来破解密码时,我心里浮现出两个字:”天才!”,怎么别人就可以这么聪明呢?
读取文件
查看文件列表操作
# 请运行这个代码框
# 这个语句大概是你没有见过的,“!”代表这是一句系统命令,“ls”代表列出文件夹中的文件,“/home/aistudio/work”是本环境中,文件夹的路径。
# 你可以查询“linux系统命令基础”得到有关知识
!ls /home/aistudio/work
# 输出
code.txt example.txt novel1.txt
读取文件(txt)使用代码
# 请继续运行这个代码框
f = open('/home/aistudio/work/example.txt')
example_text = f.read()
f.close()
# 上面的三行代码就是读取文件的全过程。
print(example_text)
小贴士:
- 粘贴代码是可以的 (我之前就老想把各种代码背下来,觉着这样才算是自己学到了)。
关于文件路径:
-
有相对路径和绝对路径。
-
目录:
.
表示当前目录,..
表示父目录(上一级目录)
统计code.txt中的26个字母出现频率,代码复现
f = open('/home/aistudio/work/code.txt')
code_text = f.read()
f.close()
counter_code = {}
amount_letter_code = 0
'''
请写代码,对每个字母计数
'''
for i in code_text:
if 'A' <= i <= 'Z':
if i in counter_code:
counter_code[i] = counter_code[i] + 1
amount_letter_code = amount_letter_code + 1
else:
counter_code[i] = 1
frequence_code = {}
'''
请写代码,求出每个字母的频率
'''
for i in counter_code:
frequence_code[i] = counter_code[i] / amount_letter_code
小结
第二章了,感觉Al studio的python课程设置挺好的。视频一会儿就看完了,还有`ipynb`的文档,可以再仔细看一遍巩固一下 。
而且配套的课后作业可以很好地帮助对语法的理解。
今天的内容就到这里啦,感谢阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114796.html