第一题 无空隙回声输出

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

获得用户输入,去掉其中全部空格,将其他字符按收入顺序打印输出。

输入输出示例

输入 输出
Alice+ Bob Alice+Bob

解答代码

思路:清洗字符串的空格,用replace()方法。

s = input()
s = s.replace(' ', '')
print(s)

第二题 文件关键行数

描述

关键行指一个文件中包含的不重复行。关键行数指一个文件中包含的不重复行的数量。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

统计附件文件中与关键行的数量。

输入输出示例

此处仅示例输出格式。

输入 输出
1 共99关键行

解答代码

思路:我的思路是,遍历文件,将第一次出现的行全都存到一个set()中,当相同的行第二次出现时(即有重复的)存储到另一个set中,然后用第一个set的长度-第二个set的长度就得到关键行数。
我还试了包括有重复行的行数,也是没有通过。
此外我还尝试了空行计算入内和不计算入内的情况。也都没有通过。
感谢qq_40674586的解答,使得这题有了测试通过的答案。从答案解释,这题就是计算总共有多少行(之后重复的行,不计算在内),空行也要计算入内。

# 版本一
with open('latex.log', 'r', encoding='utf-8') as f:rows = set()ex = set()s = 0for line in f:if line not in rows:rows.add(line)else:ex.add(line)print('共{}关键行'.format(len(rows) - len(ex)))# 试的另外一种包含重复的行的
with open('latex.log', 'r', encoding='utf-8') as f:rows = set()s = 0for line in f:if line not in rows:rows.add(line)s += 1print(s)# 正确答案版本1
with open('latex.log', 'r', encoding='utf-8') as f:rows = set()s = 0for line in f:if line not in rows:rows.add(line)s += 1
print('共{}关键行'.format(s))# 最简洁的答案
with open('latex.log', 'r', encoding='utf-8') as f:rows_set = set(f.readlines())print('共{}关键行'.format(len(rows_set)))

第三题 字典翻转输出

描述

读入一个字典类型的字符串,反转其中键值对输出。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

即,读入字典key:value模式,输出value:key模式。

输入格式

用户输入的字典格式的字符串,如果输入不正确,提示:输入错误。

输出格式

给定字典d,按照print(d)方式输出。

输入输出示例

用户输入的字典格式的字符串,如果输入不正确,提示:输入错误。

输入 输出
{‘a’:1, ‘b’:2} {1:‘a’, 2:‘b’}

解答代码

思路:主要用try…except来控制输入,通过isinstance()方法判断是否是字典,通过zip()来实现key和value互换,注意存在value不可hash的情况,所以需要try…except来监控处理。感谢评论区的小伙伴给出了更简洁的答案。

# 通过测试的版本,这个版本虽然可以通过测试,但是是有问题的,比如输入'abc’就会导致程序报错
s = input()
dict_1 = eval(s)
if isinstance(dict_1, dict):dict_2 = dict(zip(dict_1.values(), dict_1.keys()))print(dict_2)
else:print('输入错误')# 更推荐这个版本
s = input()
try:dict_1 = eval(s)if isinstance(dict_1, dict):dict_2 = dict(zip(dict_1.values(), dict_1.keys()))print(dict_2)else:print('输入错误')
except:print('输入错误')# 更简洁的答案
s = input()
try:dict_1 = eval(s)dict_2 = dict(zip(dict_1.values(), dict_1.keys()))print(dict_2)
except:print('输入错误')

第四题 《沉默的羔羊》之最多单词

描述

附件是《沉默的羔羊》中文版内容,请读入内容,分词后输出长度大于2且最多的单词。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

如果存在多个单词出现频率一致,请输出按照Unicode排序后最大的单词

输入格式

文件

输出格式

字符串

输入输出示例

仅提供一个输出示范样例。

输入 输出
羔羊

解答代码

思路:利用jieba库进行分词,然后主要用到了字典的get方法和列表的sort()方法。不过这题中按照Unicode排序这一步没有做,也通过了测试。评论区有小伙伴给出了解答,所以代码也相应进行了更新。

import jieba
with open('沉默的羔羊.txt', 'r', encoding='utf-8') as f:txt = f.read()words = jieba.lcut(txt)counts = {}for word in words:# 过滤长度为1的单词if len(word) == 1:continueelse:counts[word] = counts.get(word, 0) + 1
# 对词语根据出现的频率进行排序
wordlst = list(counts.items())
wordlst.sort(key=lambda x:x[1], reverse=True)
maxfreq = wordlst[0][1]  # 确定最大的频率
maxfreqwords = []  # 新建一个最大频率单词的列表(假设存在多个单词频率相同,且频率最大)
for i in wordlst:if i[1] == maxfreq:maxfreqwords.append(i)  else:break  # 一旦遍历至频率值小于最大频率值时,跳出,不必继续遍历,节约计算时间
maxfreqwords.sort(key=lambda x:x[0], reverse=True)  # 按照Unicode排序
print(maxfreqwords[0][0])

说明:题目来自北理嵩天老师【Python语言程序设计 (第8期)】课程,如有侵权,立删。

后记:
我从本硕药学零基础转行计算机,自学路上,走过很多弯路,也庆幸自己喜欢记笔记,把知识点进行总结,帮助自己成功实现转行。
2020下半年进入职场,深感自己的不足,所以2021年给自己定了个计划,每日学一技,日积月累,厚积薄发。
如果你想和我一起交流学习,欢迎大家关注我的微信公众号每日学一技,扫描下方二维码或者搜索每日学一技关注。
这个公众号主要是分享和记录自己每日的技术学习,不定期整理子类分享,主要涉及 C – > Python – > Java,计算机基础知识,机器学习,职场技能等,简单说就是一句话,成长的见证!

【期末测验】: 课程水平综合测验 (第10周)相关推荐

  1. Python语言程序设计 (第11期) 期末测验: 课程水平综合测验

    课程水平综合测验,共4道编程题,限答1次.限时50分钟 1.无空隙回声输出 描述 获得用户输入,去掉其中全部空格,将其他字符按收入顺序打印输出. 输入输出示例 输入 输出 Alice + Bob Al ...

  2. 期末测验: 课程水平综合测验 (第10周)

    无空隙回声输出 描述 获得用户输入,去掉其中全部空格,将其他字符按收入顺序打印输出. s = input() print(s.replace(" ", "")) ...

  3. 计算机等级证书需要过塑么,电脑印刷自学考试上机综合测验(附答案)

    电脑印刷自学考试上机综合测验(附答案) 电脑印刷自学考试上机综合测验 (附答案) 阶段测验一 (第 1-2 章) 一. 单项选择题 1. 不能用于图像输入的设备是 () . A. 数码相机 B. 扫描 ...

  4. HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(HTML+CSS)~动漫主题html5网页模板-HTML期末作业课程设计期末大作业动漫主题html5网页模板-html5网页设计源码...

    HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(DIV+CSS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没 ...

  5. HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(HTML+CSS)~动漫主题html5网页模板-HTML期末作业课程设计期末大作业动漫主题html5网页模板-html5网页设计源码

    HTML期末大作业课程设计~仿阴阳师游戏官网首页html模板(DIV+CSS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没 ...

  6. HTML期末作业课程设计期末大作业——体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码)...

    HTML期末作业课程设计期末大作业--体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手 ...

  7. HTML期末作业课程设计期末大作业——体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码)

    HTML期末作业课程设计期末大作业--体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手 ...

  8. 测验4: 程序的控制结构 (第4周)

    测验4: 程序的控制结构 (第4周) 文章目录 测验4: 程序的控制结构 (第4周) 单选题 程序题 这是python123官网上联合MOOC的Python程序设计(第10期)答案 单选题 像这种看程 ...

  9. 大数据课程——Storm综合应用

    大数据课程--Storm综合应用 实验内容以及要求 假设在某一搜索应用中,需要实时统计搜索次数最多的热门关键词,并按照实时统计搜索次数输出最热门的20大热门关键词及被搜索次数.用户搜索的日志通过Flu ...

最新文章

  1. Github+Gitlb的使用
  2. PC Lint 初学
  3. bzoj 3928: [Cerc2014] Outer space invaders
  4. apply和call用法
  5. 【Java】浅显理解 hashcode 和 hash 算法
  6. SQL Server 使用Detach和Attach 方式 移动数据库位置
  7. Java基础篇:如何嵌套try语句?
  8. C# 委托和事件高级进阶
  9. 计算机毕业设计jsp酒店管理系统
  10. python初体验——单/双/三引号的用法
  11. 孟岩:区块链的原则与价值观
  12. 计算机游戏中屏幕上显示的,电脑在玩全屏游戏的时候显示屏老是出现无信号
  13. 免费css代码下载-Free Css Templates
  14. oracle elsif和else if,ORACLE ELSIF 与 ELSE IF
  15. 全国天气预报api接口
  16. 阿里云服务器+腾讯域名进行域名解析
  17. “云筑百城”落户苏州,新华三赋能“工业云引擎”
  18. BTIM提升移动运维管理效率
  19. C#——设计一个简单的窗体程序,在文本框中输入两个点的坐标值,单击“确定”按钮时显示两点之间的距离。
  20. 新零售全能商城多商户拼团砍价秒杀周期购分销论坛投票收银台点餐外卖小程序公众号

热门文章

  1. java一元多项式减法运算_一元多项式的加/减法运算
  2. JS获取字符串占用多少空间
  3. 第23节--python创建网页
  4. java图标的含义_Eclipse中常见图标的含义
  5. Jmeter+InfluxDB+Grafana+Prometheus搭建遇过的问题
  6. (经典)瑾此献给1975-1989年出生的人(看后请顶)
  7. python resample函数_Pandas的时间序列-resample重采样
  8. 开发webservice 遇到问题 No message body writer has been found for class
  9. 计算机程序设计语言教案,高中信息技术VB程序设计教案
  10. beego+GoLand