Python —— 真题八

问题一.从data.txt中提取大学或机构名称列表,将结果写入文件univ.txt,每行一个大学或机构名称,按照大学或机构在data.txt出现的先后顺序输出,样例如下:

...

北京理工大学

...

北京师范大学

...

提示:所有大学名称在data.txt文件中以alt= "北京理工大学"形式存在。

f = open(r'C:\Users\Administrator\Desktop\data.txt','r')
fo = open(r'C:\Users\Administrator\Desktop\univ.txt','w')

lines = f.readlines()#逐行读取文本内容保存到列表
for line in lines:
    if 'alt=' in line:
        fo.write(line.split('alt=')[1].split('"')[1]+'\n')

f.close()
fo.close()
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序

问题二. 从univ.txt文件中提取大学名称,大学名称以出现"大学"或"学院"字样为参考,但不包括"大学生"等字样,将所有大学名称在屏幕上输出,大学各行之间没有空行,最后给出名称中包含"大学"和"学院"的名称数量,同时包含"大学"和"学院"的名称以结尾的词作为其类型。

样例如下:

...

北京理工大学

...

长沙师范学院

...

包含大学的名称数量是10

包含学院的名称数量是10

f = open(r'C:\Users\Administrator\Desktop\univ.txt','r')
n=0
m=0
lines = f.readlines()
for line in lines:
    if '大学生' in line:
        continue
    elif '大学' in line:
        n+=1
        print(line.strip('\n'))
    elif '学院' in line:
        m+=1
        print(line.strip('\n'))
print("包含大学的名称数量是{}".format(n))
print("包含学院的名称数量是{}".format(m))
f.close()

你可能感兴趣的:(python,开发语言)