python 作业

应付式,完全不考虑时间/空间复杂度

练习1:文本文件university.txt中存储了中国部分省/自治区/直辖市的大学数量,其每行的内容为:省份名 该省大学数量。
请编写程序打印输出大学数量最多的省份名,并统计这些列出的省份共有多少所大学。

university.txt文件内容如下:

北京 92
上海 63
广东 154
天津 56
四川 132
山东 152
浙江 109
福建 89
江苏 167
河南 151
贵州 75
新疆 56
云南 82
安徽 120
广西 82
重庆 68
河北 125
湖南 128
陕西 96
内蒙古 54
湖北 129
江西 105
山西 85
辽宁 116
黑龙江 80
吉林 64
海南 21

练习2:文本文件university1.txt中存储了中国部分省份/自治区/直辖市大学的基本情况,其每行的内容为:省份名 该省大学数量
双一流建设高校数量 一流大学建设高校数量 一流学科建设高校数量。 请编写程序完成以下功能:

输入省份名,输出该省的大学的基本情况,例如输入“四川”,则输出结果应为:
四川大学数量:132,双一流高校建设数量:8,一流大学建设高校数量:2,一流学科建设高校数量:6。

按照双一流建设高校数量降序输出各省的大学基本情况数据,排序输出时,如果双一流高校建设数量相同,则按照一流大学建设高校数量降序排名输出。

分别统计输出中国双一流建设高校的数量、一流大学建设高校数量。

university1.txt文件的内容如下:

北京 92 31 8 23
上海 63 13 4 9
广东 154 5 2 3
天津 56 5 2 3
四川 132 8 2 6
山东 152 3 2 1
浙江 109 3 1 2
福建 89 2 1 1
江苏 167 15 2 13
河南 151 2 1 1
贵州 75 1 0 1
新疆 56 2 1 1
云南 82 1 1 0
安徽 120 3 1 2
广西 82 1 0 1
重庆 68 2 1 1
河北 125 1 0 1
湖南 128 3 2 1
陕西 96 7 3 4
内蒙古 54 1 0 1
湖北 129 7 2 5
江西 105 1 0 1
山西 85 1 0 1
辽宁 116 4 2 2
黑龙江 80 4 1 3
吉林 64 3 1 2
海南 21 1 0 1

练习1

f = open("university.txt",encoding = "utf-8")
maxPro=''
maxNum=0
str=f.readline()
maxPro=str.split(' ')[0]
maxNum=int(str.split(' ')[1])
sum=maxNum
while True:
    str=f.readline()
    if(str==''):
        break
    if(int(str.split(' ')[1])>maxNum):
        maxNum=int(str.split(' ')[1])
        maxPro=str.split(' ')[0]
    sum+=int(str.split(' ')[1])
print(maxPro,maxNum)
print("sum:",sum)

练习2

f = open("university1.txt",encoding = "utf-8")
uni=input()
i=0
t=[]
list=[]
tsum=0
osum=0
def takeSecond(elem):
    return elem[2]
def takeSecond2(elem):
    return elem[3]

while True:
    str=f.readline()
    if(str==''):
        break
    t.append(str.split(' ')[0])
    t.append(int(str.split(' ')[1]))
    t.append(int(str.split(' ')[2]))
    t.append(int(str.split(' ')[3]))
    t.append(int(str.split(' ')[4]))
    if(str.split(' ')[0]==uni):
      print("%s大学数量:%d,双一流高校建设数量:%d,一流大学建设高校数量:%d,一流学科建设高校数量:%d\n\n"%(t[0],t[1],t[2],t[3],t[4]))
    tsum+=int(str.split(' ')[2])
    osum+=int(str.split(' ')[3])
    list.append(t)
    t=[]
    i+=1
list.sort(key=takeSecond2,reverse=True)
list.sort(key=takeSecond,reverse=True)


for li in list:
  print("%s大学数量:%d,双一流高校建设数量:%d,一流大学建设高校数量:%d,一流学科建设高校数量:%d"%(li[0],li[1],li[2],li[3],li[4]))
print("中国双一流建设高校的数量:%d\n一流大学建设高校数量:%d"%(tsum,osum))

你可能感兴趣的:(python作业,python)