python 2020微光 笔试01 分辨复读机
文章目录
- 前言
- 题目解析
- 题干
- 解题步骤
- 完整代码
- 最终效果
- 知识点与收获
前言
成电微光工作室2020笔试第一题,下一届想进入微光工作室的成电小伙伴可以来康康。
题目解析
题干
题目给出这样一段txt文件:
a:小伙子最近怎么样
b:最近在参加微光工作室的招新
a:感觉怎样
b:感觉好多题有点难
a:那咋办嘛
b:那咋办嘛
a:那咋办嘛
b:那咋办嘛
a:那咋办嘛
b:那我能咋办嘛
a:好好学习,加油进微光啊
c:你们两个上课讲什么话
b:那我去努力学习了,不谈了,886*
要求制作一个程序,使对话输入后将每个人说的话分组,分别将每个人说的话存入到一个txt文件中,并且将每个人不重复的对话分别存入到一个pkl文件中,并以对应人名命名文件
解题步骤
step1 读入文件
使用with open 与readlines配合的方法,将对话文本逐行读出
step2 分辨人名的方法
首先可以考虑将每一句话当成一个字符串,运用切片得到的第一个字符即是人名,事实上这样可行。但是,这仅限于本题中名字为一个英文字母的情况,那么怎样得到一个普适的分辨方法呢?
使用spilt方法可以很好的解决问题,以冒号为分界可以一目了然地分离出人名与对话内容
step3 完成程序主干要求
完整代码
import pickle# 引入pkl模块。with open("dialog.txt", mode="r", encoding='utf-8') as fi:lines = fi.readlines()# 将dialog中的内容全部逐行读出。dialog = {}
for line in lines:s = line.split(':', 1)# 以冒号为分界区别开人名与对话内容。if s[0] not in dialog:dialog[s[0]] = [s[0]+"-01.txt", s[0]+"-02.pkl", {}]# 将每个人名与一个列表对应存储入字典,且使用if not in结构来确保人名不重复。with open(dialog[s[0]][0], mode="a+") as fo:fo.writelines(s[1])# 以追加形式将对话内容逐行补充导各自的文件尾部,完成题目的第二项要求。if s[1] not in dialog[s[0]][2]:dialog[s[0]][2][s[1]] = ""# 将不重复的对话以键的形式存入字典,赋值为空(随便赋值什么应该都无所谓)。with open(dialog[s[0]][1], mode="wb+") as fo:pickle.dump(s[1], fo)# 以追加形式将不重复对话逐行写入pkl文件,完成题目第三项要求。
最终效果
pkl不便展示就不放图了
知识点与收获
1.开关读写文件的方法,读写文件的不同模式;
2.分辨复读机的思想内核;
3.写入中文出现乱码时的基本解决方法。
python 2020微光 笔试01 分辨复读机相关推荐
- 网易2020校招笔试 系统开发研发工程师(提前批)牛客练习 Apare_xzc
网易2020校招笔试 系统开发研发工程师(提前批)练习 2020.9.4 10道选择,2道问答,4道编程 牛客链接<– 编程题: 1. 小易的英语软件 小易是班级的英语课代表, 他开发了一款软件 ...
- 简单复读机LR如何成为推荐系统精排之锋?
文 | 水哥 源 | 知乎 saying 1. 众所周知, 人类(划掉)推荐的本质是复读机 2. 精排之锋,粗排之柔,召回之厚 3. 在推荐里谈"过拟合"很容易给我们造成心理上的松 ...
- (原创)C# LRC复读机-1
最近想恶补下英语,找了很多MP3播放软件,但是没有哪个能按照句子播放时间来播放声音的,想想自己学习过的WinForm,为什么不自己写一个程序呢?一个想法出现在脑海中,说干就干,花了一天时间,先研究了一 ...
- (python)牛客网(华为机试四)——较难
本博客为博主解题的部分记录,由于均为自己写的,所以答案并非最优解,有很多地方可以优化. 其他题解合集: (python)牛客网(华为机试一)--入门 (python)牛客网(华为机试二)--简单 (p ...
- 磁带转换成MP3 文件,摆脱复读机
一.就是3.5接口的直录线,2元一根,接入声卡的Line IN口,另一端接入录音机的耳机口,用goldwave或Audition.exe录音,在音量属性中选录音选项,来源选Stereo 即立体声输入, ...
- 【Qbot】6.讯飞文字转语音Api使用/VITS派蒙复读机实现
该项目计划长期进行维护更新,欢迎star:https://github.com/zstar1003/Qbot 前言 看完流浪地球2之后,萌生了一个想法:我想给机器人完整的一生.作为一个完整的机器人,声 ...
- 主管护士需要考计算机和英语吗,2020主管护师改为机考,一定要注意这些问题!...
原标题:2020主管护师改为机考,一定要注意这些问题! 中国卫生人才网官方通知已确定,2020年护理学中级既主管护师考试形式-推行机考.那么,人机对话考试怎么考,有什么注意事项,为考生整理如下: 1. ...
- [集训队作业2018] 复读机(生成函数,单位根反演)
传送门 subtask 1:d=1d=1d=1 答案为knk^nkn. subtask 2:n≤1000,k≤100n\leq1000,k\leq 100n≤1000,k≤100 设f[i][j]f[ ...
- 【牛客 - 327G】处女座与复读机(可编辑距离问题,dp)
题干: 链接:https://ac.nowcoder.com/acm/contest/327/G 来源:牛客网 一天,处女座在牛客算法群里发了一句"我好强啊",引起无数的复读,可是 ...
最新文章
- 【转】做正确的事情,等着被开除(Do the right thing, Wait to get fired)
- Axios的基本使用
- 汇编语言Makefile
- [PAMI2013] Guided Image Filtering 导向滤波器以及OpenCV-Python代码实现
- JavaScript高级day02-PM【原型链的属性问题、探索instanceof、原型面试题】
- powermock模拟对象_使用PowerMock测试对象的内部状态
- pat 乙级 1027 打印沙漏(C++)
- 光流估计——从传统方法到深度学习
- MyBatis学习总结(18)——MyBatis与Hibernate详细比较
- CodeForces - 1610B Kalindrome Array
- ini文件中文乱码 python_用心盘Python:中文文件处理早晚会用到的将中文转成拼音...
- postgresql设置postgres密码_django项目时配置postgresql数据库的方法
- 第五次作业--原型设计(结对)
- 渗透测试-内网横向MS-17010利用方法总结
- 利用python快速视频格式转换 解决 Premiere 导入TS文件只有声音没有视频
- Google的地球日图标08版
- HashMap原理以及TreeMap和Collections工具类(2022.6.10)
- echarts从全国地图切换成省级地图地图不居中的问题
- DARTS 可微 架构搜索
- 推荐几个好玩的游戏:
热门文章
- open_nsfw: 雅虎基于Caffe的成人图片识别模型
- AI+药物设计:AI制药与产业前沿
- Cisco之show ip arp 与 show mac-address-table
- 《你不可不知的人性》刘墉 读书笔记(一)
- 【1】基础知识——♥计算机系统结构♥
- skysat重访周期_重访CSS背景属性
- 格式工厂AVI格式视频转MP4画面不清晰变模糊解决办法
- Win11如何创建子账户?Win11子账户设置方法
- “AV终结者”预防方法
- codeforces#1166F. Vicky's Delivery (Service并查集+启发式合并)