第1关:统计字母数量
任务描述
读取附件是一篇英文短文,请编写程序统计这篇短文前 n 行中每一个英文字母出现的次数,结果按次数降序排列,次数相同时,按字母表顺序输出。若 n 值大于短文行数,输出整篇文章中每一个英文字母出现的次数(大写字母按小写字母统计)。
The Old Man and the Sea.txt
输入格式
输入一个正整数 n
输出格式
分行输出每个字母的数量,数量占3个字符宽度,居右对齐(参考示例输出)
示例 1文章来源地址https://www.toymoban.com/news/detail-754024.html
- 输入:
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
输入格式
输入一个学校名称
输出格式
输出学校详细信息(注意:行末不得有多余的换行)文章来源:https://www.toymoban.com/news/detail-754024.html
示例 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'
到了这里,关于【头歌-Python】Python第八章作业(初级)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!