计算机二级python综合应用题(八)

考生文件夹下的文件data.txt 是教育部爱课程网中国大学MOOC 平台的某个HTML 页面源文件, 里面包含了我国参与MOOC 建设的一批大学或机构列表。

问题1:

请编写程序, 从data. txt 中提取大学或机构名称列表, 将结果写入文件univ.txt , 每行一个大学或机构名称,
按照大学或机构在data.txt 出现的先后顺序输出, 样例如下.
北京理工大学
北京师范大学
提示: 所有大学名称在data .txt 文件中以alt="北京理工大学"形式存在。

f=open("data.txt","r")
lines=f.readlines()
f.close()

f = open("univ.txt", "w")
for line in lines:
    if 'alt' in line:  #判断是否有alt,若有则用'alt'分割,分割后再用'"'分割
        dx=line.split('alt=')[-1].split('"')[1]
        f.write('{}\n'.format(dx))
f.close()

问题2 :

请编写程序, 从univ. txt 文件中提取大学名称, 大学名称以出现“ 大学” 或“ 学院” 字样为参考, 但不包括
“ 大学生” 等字样, 将所有大学名称在屏幕上输出, 大学各行之间没有空行, 最后给出名称中包含“ 大学” 和“ 学院”
的名称数量, 同时包含“ 大学” 和“ 学院” 的名称以结尾的词作为其类型。样例如下( 样例中数量不是真实结果)
北京理工大学
长沙师范学院
包含大学的名称数量是10
包含学院的名称数量是10

n = 0
m=0
f = open("univ.txt", "r")
lines=f.readlines()
f.close()
for line in lines:
    if '大学生' in line:
        continue
    elif '大学' in line:
        print('{}'.format(line))
        n+=1
    elif '学院' in line:
        print('{}'.format(line))
        m+=1
    

print("包含大学的名称数量是{}".format(n))
print("包含学院的名称数量是{}".format(m))

你可能感兴趣的:(python)