python123期末四题编程题 -无空隙回声输出-文件关键行数-字典翻转输出-《沉默的羔羊》之最多单词

2021-02-08 03:18

阅读:457

标签:lines   lambda   内容   strong   字符串   rds   head   翻转   编程   

1. 无空隙回声输出

描述

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

输入输出示例

输入 输出
示例 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. 字典翻转输出

描述

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

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

输入格式

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

输出格式????????????????????????????????????????????????????????????????????????????????????????????????

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

输入输出示例

输入 输出
示例 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(‘输入错误‘) # 异常抛出

注 :

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。

dict() 函数用于创建一个字典。

4. 《沉默的羔羊》之最多单词

描述

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

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

输入格式

文件????????????????????????????????????????????????????????????????????????????????????????????????

输出格式

字符串????????????????????????????????????????????????????????????????????????????????????????????????

输入输出示例

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

输入 输出
示例 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]) # 输出第一

Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。

python123期末四题编程题 -无空隙回声输出-文件关键行数-字典翻转输出-《沉默的羔羊》之最多单词

标签:lines   lambda   内容   strong   字符串   rds   head   翻转   编程   

原文地址:https://www.cnblogs.com/coderzjz/p/12773690.html


评论


亲,登录后才可以留言!