python123期末四题编程题 -无空隙回声输出-文件关键行数-字典翻转输出-《沉默的羔羊》之最多单词
2021-02-08 03:18
标签:lines lambda 内容 strong 字符串 rds head 翻转 编程 获得用户输入,去掉其中全部空格,将其他字符按收入顺序打印输出。 ???????????????????????????????????????????????????????????????????????????????????????????????? 关键行指一个文件中包含的不重复行。关键行数指一个文件中包含的不重复行的数量。???????????????????????????????????????????????????????????????????????????????????????????????? 统计附件文件中与关键行的数量。???????????????????????????????????????????????????????????????????????????????????????????????? 输入输出示例???????????????????????????????????????????????????????????????????????????????????????????????? 此处仅示例输出格式。???????????????????????????????????????????????????????????????????????????????????????????????? 读入一个字典类型的字符串,反转其中键值对输出。???????????????????????????????????????????????????????????????????????????????????????????????? 即,读入字典key : value模式,输出value : key模式。???????????????????????????????????????????????????????????????????????????????????????????????? 用户输入的字典格式的字符串,如果输入不正确,提示:输入错误。???????????????????????????????????????????????????????????????????????????????????????????????? 输出格式???????????????????????????????????????????????????????????????????????????????????????????????? 给定字典d,按照print(d)方式输出???????????????????????????????????????????????????????????????????????????????????????????????? zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。 zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。 dict() 函数用于创建一个字典。 附件是《沉默的羔羊》中文版内容,请读入内容,分词后输出长度大于2且最多的单词。???????????????????????????????????????????????????????????????????????????????????????????????? 如果存在多个单词出现频率一致,请输出按照Unicode排序后最大的单词。???????????????????????????????????????????????????????????????????????????????????????????????? 文件???????????????????????????????????????????????????????????????????????????????????????????????? 字符串???????????????????????????????????????????????????????????????????????????????????????????????? 仅提供一个输出示范样例。???????????????????????????????????????????????????????????????????????????????????????????????? Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。 python123期末四题编程题 -无空隙回声输出-文件关键行数-字典翻转输出-《沉默的羔羊》之最多单词 标签:lines lambda 内容 strong 字符串 rds head 翻转 编程 原文地址:https://www.cnblogs.com/coderzjz/p/12773690.html1. 无空隙回声输出
描述
输入输出示例
输入
输出
示例 1
Alice + Bob
Alice+Bob
题解
s = input()
print(s.replace(" ", "")) #利用s中replace的方法把空格去掉
2. 文件关键行数
描述
输入
输出
示例 1
``
共99关键行
题解
with open(‘latex.log‘,‘r‘,encoding=‘utf-8‘) as f: #打开文件
rows_set = set(f.readlines()) # 去除重复行就想到set去重
print(‘共{}关键行‘.format(len(rows_set))) # format标准化输出 len直接取set的长度
3. 字典翻转输出
描述
输入格式
输入输出示例
输入
输出
示例 1
{"a": 1, "b": 2}
{1: ‘a‘, 2: ‘b‘}
题解
a = input()
try: # 因为题目要求有输入错误时的输出 就考虑到异常处理
a = eval(a)
print(dict(zip(a.values(), a.keys()))) # 直接反向输出
# 这里有两个函数 zip() dict() 见下注释
except:
print(‘输入错误‘) # 异常抛出
注 :
4. 《沉默的羔羊》之最多单词
描述
输入格式
输出格式
输入输出示例
输入
输出
示例 1
无
羔羊
题解
import jieba
with open(‘沉默的羔羊.txt‘,‘r‘,encoding=‘utf-8‘)as f: # 打开文件
txt = f.read() # 读取为txt
words = jieba.lcut(txt) # 利用jieba库的lcut分词
counts={} # 创建字典
for word in words: # 逐个遍历
if len(word) == 1: # 若是当前词语只出现一次 跳过
continue
else:
counts[word]=counts.get(word,0)+1 # 此时词语出现次数累加
list = list(counts.items()) # 字典中items()方法见下
# 反向排列 key值为字典的[1]索引 = value
list.sort(key=lambda x:x[1],reverse=True)
print(list[0][0]) # 输出第一
文章标题:python123期末四题编程题 -无空隙回声输出-文件关键行数-字典翻转输出-《沉默的羔羊》之最多单词
文章链接:http://soscw.com/essay/52460.html