【头歌-Python】Python第八章作业(初级)
•
Python
第1关:统计字母数量
任务描述
读取附件是一篇英文短文,请编写程序统计这篇短文前 n 行中每一个英文字母出现的次数,结果按次数降序排列,次数相同时,按字母表顺序输出。若 n 值大于短文行数,输出整篇文章中每一个英文字母出现的次数(大写字母按小写字母统计)。
The Old Man and the Sea.txt
输入格式
输入一个正整数 n
输出格式
分行输出每个字母的数量,数量占3个字符宽度,居右对齐(参考示例输出)
示例 1
- 输入:
10
- 输出:
e 的数量是 179 个 a 的数量是 125 个 t 的数量是 121 个 h 的数量是 116 个 o 的数量是 101 个 s 的数量是 92 个 i 的数量是 91 个 n 的数量是 88 个 d 的数量是 77 个 r 的数量是 60 个 l 的数量是 49 个 f 的数量是 46 个 w 的数量是 45 个 m 的数量是 41 个 y 的数量是 40 个 u 的数量是 35 个 c 的数量是 32 个 b 的数量是 29 个 g 的数量是 20 个 k 的数量是 19 个 p 的数量是 13 个 v 的数量是 9 个 q 的数量是 1 个 x 的数量是 1 个 j 的数量是 0 个 z 的数量是 0 个
本作业各关涉及的文件下载链接如下:
CBOOK.csv
university.csv
info.csv
成绩单.csv
admit2.csv
score1034.json
The Old Man and the Sea.txt
The Great Learning.txt
参考代码
n = int(input())
dic = {
}
f = open("step2/The Old Man and the Sea.txt", "r")
for i, line in enumerate(f):
if i >= n:
break
for c in line.lower():
if c.isalpha():
dic[c] = dic.get(c, 0)+1
l = sorted(dic.items(), key=lambda x: (-x[1], x[0]))
for k,v in l:
print("{} 的数量是 {:>3} 个".format(k, v))
for c in 'abcdefghijklmnopqrstuvwxyz':
if c not in dic:
print(f"{
c} 的数量是 {
0:>3} 个")
第2关:统计文章字符数
任务描述
读取附件中的文件(utf-8编码),统计并输出文章的前 n 行里共有多少字符(标点符号及换行符按字符统计),以及有多少个不重复的字符?
The Great Learning.txt
输入格式
输入一个正整数 n
输出格式
在一行中输出文章的前 n 行里共有多少字符和有多少个不重复的字符,中间用一个空格分隔
示例 1
- 输入:1000
- 输出:2484 432
参考代码
with open('step3/The Great Learning.txt', 'r', encoding='utf-8') as f:
num = int(input())
txt = ''.join(f.readlines()[:num])
print(len(txt), len(set(txt)))
第3关:查询高校信息
任务描述
# 以下代码的作用是:
# 打开文件,创建一个名为Uname的对象,Uname.readlines()的作用是将文件内容逐行读取到列表中
# 文件的每行为一个以‘\n’结尾的字符串,做为列表ls的一个元素
# 列表ls的第一个元素ls[0]的内容是:'序号,学校名称,学校标识码,主管部门,所在地,办学层次,备注\n'
with open('university.csv','r',encoding='utf-8') as Uname:
ls = Uname.readlines()
# print(ls)
# 输出:['序号,学校名称,学校标识码,主管部门,所在地,办学层次,备注\n',
# '1,北京大学,4111010001,教育部,北京市,本科,\n',
# '2,中国人民大学,4111010002,教育部,北京市,本科,\n',
# '3,清华大学,4111010003,教育部,北京市,本科,\n',
# ……
# ]
附件 ‘university.csv’ 中包含北京主要高校的序号、学校名称、学校标识码、主管部门、所在地、办学层次、备注等信息,以逗号分隔符。 参考提示代码,将文件内容逐行读取到列表中,根据用户输入的学校名,查询学校信息并输出。
university.csv
输入格式
输入一个学校名称
输出格式
输出学校详细信息(注意:行末不得有多余的换行)
示例 1
- 输入:
北京大学
- 输出:
序号,学校名称,学校标识码,主管部门,所在地,办学层次,备注 1,北京大学,4111010001,教育部,北京市,本科,
参考代码
with open('step4/university.csv', 'r', encoding='utf-8') as f:
txt = f.readlines()
s = input().strip()
print(txt[0].strip())
for line in txt:
if s in line.split(',')[1]:
print(line)
break
第4关:查询高校名
任务描述
# 以下代码的作用是:
# 打开文件,创建一个名为Uname的对象,Uname.readlines()的作用是将文件内容逐行读取到列表中
# 文件的每行为一个以‘\n’结尾的字符串,做为列表ls的一个元素
# 列表ls的第一个元素ls[0]的内容是:'序号,学校名称,学校标识码,主管部门,所在地,办学层次,备注\n'
with open('university.csv','r'
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/a82a461a90.html
