1
7-1 找出最大值和最小值

输入若干个(至少一个)正整数,输出它们的最大值和最小值。

输入格式:
在一行中输入若干个数,以空格分隔。

输出格式:
按以下形式输出最大值和最小值: Max=? Min=?

输入样例:
在这里给出一组输入。例如:

4 5 67 3 99 2 7
输出样例:
在这里给出相应的输出。例如:

Max=99
Min=2

list1 = list(map(int,input().split()))
print("Max={}".format(max(list1)))
print("Min={}".format(min(list1)))

2
7-2 列表元素升序组成整数

输入一个列表,其中每个元素都是0~9之间的整数,输出由该列表的所有元素升序排序后组成的整数。

输入格式:
输入一个列表,其中每个元素都是0~9之间的整数。

输出格式:
输出由列表的所有元素升序排序后组成的整数。

输入样例:
在这里给出一组输入。例如:

[5, 4, 7, 4, 1]
输出样例:
在这里给出相应的输出。例如:

14457
输入样例:
在这里给出一组输入。例如:

[0, 3, 4, 1]
输出样例:
在这里给出相应的输出。例如:

134

list1=eval(input())
list1.sort()
a=[str(i) for i in list1]
b="".join(a)
print(int(b))

3
7-3 最小值归零

输入若干个正整数(至少一个),输出每个数减去最小值的结果。

输入格式:
在一行中输入若干个正整数,以空格分隔。

输出格式:
输出每个数减去最小值的结果。(整数之间空格分隔,最后没有空格)

输入样例:
在这里给出一组输入。例如:

4 5 67 3 99 2 7
输出样例:
在这里给出相应的输出。例如:

2 3 65 1 97 0 5

alist = list(map(int,input().split()))
blist = sorted(alist)
min=blist[0]
a = [str(i-min) for i in alist]
b = " ".join(a)
print(b)

4
7-4 将实数排序

输入若干个数(可能有整数和带小数的浮点数),升序排序后输出。

输入格式:
在一行中输入若干个数,以空格分隔。

输出格式:
输出升序排序后的数,以空格分隔,最后没有空格。

输入样例:
在这里给出一组输入。例如:

4 5.12 67 3.14 99.5 2 7
输出样例:
在这里给出相应的输出。例如:

2 3.14 4 5.12 7 67 99.5

alist = list(map(eval,input().split(' ')))
blist = sorted(alist)
print(*blist)

5
7-5 求最大值及其索引

本题要求编写程序,找出给定的n个数中的最大值及其对应的正向索引。

输入格式:
在第一行输入若干个整数,用空格分隔。

输出格式:
在一行中输出最大值及最大值的索引,中间用一个空格分开。

输入样例:
在这里给出一组输入。例如:

2 8 10 1 9 10
输出样例:
在这里给出相应的输出。例如:

10 2

alist = list(map(eval,input().split(' ')))
print("{} {}".format(max(alist),alist.index(max(alist))))

6
7-6 合并两个列表并去重

输入两个列表alist和blist,要求列表中的每个元素都为正整数且不超过10; 合并alist和blist,并将重复的元素去掉后输出一个新的列表clist。 可以使用以下实现列表alist的输入:

alist=list(map(int,input().split())) 同时为保证输出结果一致,请将集合内元素排序之后再输出。 如对于列表alist,可输出sorted(alist)。
输入格式: 共两行,每一行都用来输入列表中的元素值,以空格隔开。

输出格式: 共一行,以列表形式打印输出。

输入样例:
在这里给出一组输入。例如:

1 2 3
4 3 2
输出样例:
在这里给出相应的输出。例如:

[1, 2, 3, 4]

alist = list(map(int,input().split())
blist = list(map(int,input().split()))
clist = list(set(alist + blist))
print(sorted(clist))

7
7-7 字符替换

本题要求编写程序,将输入字符串中的大写英文字母按以下对应规则替换:(提示:转换表用元组实现)

原字母 对应字母
A Z
B Y
C X
D W
… …
X C
Y B
Z A
输入格式:
在一行中输入字符串

输出格式:
在一行中给出替换完成后的字符串。

输入样例:
在这里给出一组输入。例如:

This is a pen.
输出样例:
在这里给出相应的输出。例如:

Ghis is a pen.

a = input()
b = []
for n in a :
   if"A" <= n <= "Z" :
      b.append(chr(155-ord(n)))
   else:
      b.append(n)
print("".join(b))

8
7-8 输出字母在字符串中位置索引

输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。

输入格式:
第一行输入字符串
第二行输入两个字符,用空格分开。

输出格式:
反向输出字符和索引,即最后一个最先输出。每行一个。

输入样例:
在这里给出一组输入。例如:

mississippi
s p
输出样例:
在这里给出相应的输出。例如:

9 p
8 p
6 s
5 s
3 s
2 s

str=input()
char1,char2=input().split()

for index,char in enumerate(reversed(str)):
    if char==char1 or char==char2:
        print("{} {}".format(len(str)-index-1,char))

​9
7-9 分析活动投票情况

利用集合分析活动投票情况。第一小队有五名队员,序号是1,2,3,4,5;第二小队也有五名队员,序号6,7,8,9,10。输入一个得票字符串,求第二小队没有得票的队员

输入格式:
在一行中输入得票的队员的序列号,用逗号隔开。

输出格式:
一行中输出第二小队没有得票的队员序号。

输入样例:
在这里给出一组输入。例如:

1,5,9,3,9,1,1,7,5,7,7,3,3,1,5,7,4,4,5,4,9,5,10,9
输出样例:
在这里给出相应的输出。例如:

6 8

ct = []
alist = list(map(int,input().split(",")))
for i in range(6,11):
    if i not in alist:
        ct.append(i)

a=[str(i) for i in ct]
b=" ".join(a)
print(b)

​10
7-10 计算积分

女排世界杯参赛队伍为12只,比赛采取单循环方式,五局三胜制,比赛以3-0或者3-1取胜的球队积3分、负队积0分,以3-2取胜的球队积2分、负队积1分;输入n,及n支球队的比分情况,编写程序计算各队的积分,并从高到低排序输出。
输入格式:

先输入一行n表示有n(n>=2)支球队 再输入n行数据表示各队的比分情况,球队名称(不重复)和比分之间用:(英文)分隔,比分用-分隔,如3-0表示该球队获胜,0-3表示该球队输球,每场比分之间用逗号分隔。

输出格式:

按积分从高到低排序,输出球队名称及积分

输入样例:

在这里给出一组输入。例如:

2
中国队:3-0,3-1,3-2,3-1,3-0
美国队:3-1,3-1,0-3,1-3,2-3
输出样例:

在这里给出相应的输出。例如:

中国队 : 14
美国队 : 7

n = int(input())
names = []
scores = []
sum = []
max = 0
for i in range(0, n):
    names.append([])
    scores.append([])
    sum.append(int(0))
for i in range(0, n):
    names[i] = input().split(':')
    if ',' in names[i][1]:   #第一处bug
        scores[i] = names[i][1].split(',')
    else:
        scores[i] = names[i][1]
for i in range(0, n):
    for j in range(0, len(scores[i])):
        if scores[i][j] == '3-0' or scores[i][j] == '3-1':
            sum[i] += 3
        if scores[i][j] == '3-2':
            sum[i] += 2
        if scores[i][j] == '2-3':
            sum[i] += 1
    if max < sum[i]:
        max = sum[i]
ct = 0
while max >= 0:
    for i in range(0, n):   #第二个bug 忘了以大开始输出
        if max == sum[i]:
            ct += 1
            print(names[i][0], ':', sum[i], end='')
            if ct != n:
                print()
    max -= 1

11
7-11 求出歌手的得分

输入一个正整数n (n>4),再输入n个实数,求出歌手的得分(保留2位小数)。设一歌唱评奖晚会上有n(n>4)个评委为歌手打分.评分规则:每个评委依次打分,再去掉2个最高分和2个最低分,计算余下的分数平均值为歌手的得分.

输入格式:
在第一行中输入n 在第二行中输入n个分数

输出格式:
在一行中输出平均分数

输入样例:
在这里给出一组输入。例如:

10
10 10 9 9 9 8 8 8 7 7
输出样例:
在这里给出相应的输出。例如:

aver=8.50

a = []
sum = 0
n = int(input())  # 此输入无用
a = input().split(' ') #分割
a1 = []
for i in a :
    a1.append(int(i)) #转化为整型
a1.sort()
for i in a1[2:len(a1)-2]:
    sum += i
print('aver=%.2f'%(float(sum)/(len(a1)-4)))

12
7-12 单词统计,并按顺序打印

输入一些英文单词,统计每个单词出现的次数(大小写,如‘At’和‘at’算不同的单词),并按次数从多到少打印结果,如果次数一样就按单词的字典顺序打印(大写先于小写)。

输入格式:
在一行中输入一些英文单词,单词之间使用空格分隔,输入中没有数字和其他符号。

输出格式:
输出每个单词出现的次数,每行输出一个单词,以及对应的出现次数,中间用英文冒号分隔。

输入样例:
在这里给出一组输入。例如:

apple round apple red apple juicy apple sweet apple apple I love you apple sweet I love to eat
输出样例:
在这里给出相应的输出。例如:

apple:7
I:2
love:2
sweet:2
eat:1
juicy:1
red:1
round:1
to:1
you:1

a = input().split(' ')
b = [a[0]]  # 装入 每个单词(充当哈希表 不可重复)
c = [0]  # 计入每个单词出现的次数
d = 0
for i in range(0, len(a)):
    d = 0
    for j in range(0, len(b)):  # 装入b 和 c
        if a[i] == b[j]:
            d = 1
            c[j] += 1
    if d == 0:
        b.append(a[i])
        c.append(1)
e = []
max = 0
for j in c:
    if max < j:  # 获取c的最大值
        max = j;
for j in range(0, len(b)):  # 将b按字符循序排序 并从新转入e中
    e.append(b[j])
e.sort()
f = []
for i in range(0, len(e)):
    for j in range(0, len(b)):
        if e[i] == b[j]:
            f.append(c[j])  # 刷新 c中的顺序于f
while max > 0:
    for j in range(0, len(e)):
        if f[j] == max:
            print(e[j], end=':')  # 按照最大出现字数进行输出
            print(f[j])
    max -= 1

13
7-13 分班统计最喜欢的节目

学校举办的了迎新晚会,1班,2班两个新生班各自统计好班里同学最喜欢的节目。节目编号由一个大写字母代表。统计结果分别已经存放到两个字典中。字典元素的键是节目编号,元素的值是相应节目获得的票数,没有人喜欢的节目不用记录。如:字典{‘Q’:10,‘A’:22,‘X’:28} 表示,喜欢Q节目的有10位同学,喜欢A节目的有22位同学,喜欢X节目的有28位同学。输入两个班级的统计结果。将合并后的统计结果按节目编号的字母顺序打印出来。(注意,如果1班有10个同学喜欢Q节目,2班有15个同学喜欢Q节目,则合并后,有25个同学喜欢Q节目)

输入格式:
输入两个字典,一行一个。字典元素的键是节目编号(大写字母),元素的值是相应节目获得的票数。

输出格式:
按字母顺序输出合并后的统计结果。每个节目占一行,以“节目编号:统计票数”的形式打印。

输入样例:
在这里给出一组输入。例如:

{‘Q’:10,‘A’:22,‘X’:28}
{‘A’:30,‘D’:1,‘Q’:15,‘B’:13}
输出样例:
在这里给出相应的输出。例如:

A:52
B:13
D:1
Q:25
X:28

b3={}
b4={}
alist=[]
blist=[]
b1=eval(input())
b2=eval(input())


alist=b1.values()
blist=b2.values()

for i in b1.keys():
    for j in b2.keys():
        if i==j:
            b4={i:b1[i]+b2[i]}
            b3.update(b4)

for m in b1.keys():
    if m in b3.keys():
        continue
    else :
        b4={m:b1[m]}
        b3.update(b4)

for n in b2.keys():
    if n in b3.keys():
        continue
    else :
        b4 = {n:b2[n]}
        b3.update(b4)


alist=b3.keys()
blist=sorted(alist)
for num in blist:
    print("{}:{}".format(num,b3[num]))

14
7-14 集合应用3

输入a,b班的名单,并进行如下统计。
输入格式:

第1行::a班名单,一串字符串,每个字符代表一个学生,1个或多个空格分隔,可能有重复字符。数字代表男生,字母代表女生。

第2行::b班名单,一串字符串,每个字符代表一个学生,1个或多个空格分隔,可能有重复学生。数字代表男生,字母代表女生。

第3行::参加数学竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。

第4行:参加计算机竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。

输出格式:

注意:输出人员名单的时候需调用sorted函数,如集合为x,则print(sorted(x)) 。

输出两个班级的所有人员名单和数量。 输出两个班级中参加数学或者计算机竞赛的所有名单和数量。 输出两个班级中未参加比赛的男生名单和数量。 输出两个班级中只参加计算机或者数学竞赛的名单。

输入样例:

在这里给出一组输入。例如:

1 2 3 4 a s d f
6 7 8 9 6 5 z x c
2 3 a s 8 9 z
1 3 4 s d 5 9 x z
输出样例:

在这里给出相应的输出。例如:

Total: [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘a’, ‘c’, ‘d’, ‘f’, ‘s’, ‘x’, ‘z’], num: 16
All racers: [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘8’, ‘9’, ‘a’, ‘d’, ‘s’, ‘x’, ‘z’], num: 12
Male not in race: [‘6’, ‘7’], num: 2
ACM Or English: [‘1’, ‘2’, ‘4’, ‘5’, ‘8’, ‘a’, ‘d’, ‘x’]

alist = []                                                           
blist = []                                                                     
comparelist = []                                                               
ACMOrEnglishlist = []                                                          
Malenotinracelist = []                                                         
total = []                                                                     
All = []                                                                       
math = []                                                                      
computer = []                                                                  
alist = input().split()                                                     
blist = input().split()                                                     
math = input().split()                                                      
computer = input().split()                                                  
                                                                               
for i in range(blist.count(' ')):                                              
    blist.remove(' ')                                                          
for i in range(math.count(' ')):                                               
    math.remove(' ')                                                           
for i in range(computer.count(' ')):                                           
    computer.remove(' ')                                                       
alist=list(set(alist))                                                         
alist = [x.strip() for x in alist if x.strip() != '']                          
blist=list(set(blist))                                                         
total=sorted(alist+blist)                                                      
print("Total: {},".format(total),"num: {}".format(len(total)))                 
comparelist=math+computer                                                      
                                                                               
for i in comparelist:                                                          
    if comparelist.count(i) == 1:                                              
        ACMOrEnglishlist.append(i)                                             
                                                                               
ACMOrEnglishlist = sorted(ACMOrEnglishlist)                                    
                                                                               
                                                                               
All = list(set(comparelist))                                                   
All = sorted(All)                                                              
print("All racers: {},".format(All),"num: {}".format(len(All)))                
n = 0                                                                          
for i in total:                                                                
    if i in All or (i > 'a' and i < 'z'):                                      
        continue                                                               
    else:                                                                      
        n = n+1                                                                
        Malenotinracelist.append(i)                                            
                                                                               
Malenotinracelist = sorted(Malenotinracelist)                                  
print("Male not in race: {},".format(Malenotinracelist),"num: {}".format(n))   
print("ACM Or English: {}".format(ACMOrEnglishlist))  

15
7-15 集合应用2

输入a,b班的名单,并进行如下统计。
输入格式:

第1行::a班名单,一串字符串,每个字符代表一个学生,1个或多个空格分隔,可能有重复字符。数字代表男生,字母代表女生。

第2行::b班名单,一串字符串,每个字符代表一个学生,1个或多个空格分隔,可能有重复学生。数字代表男生,字母代表女生。

第3行::参加数学竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。

第4行:参加计算机竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。

输出格式:

注意:输出人员名单的时候需调用sorted函数,如集合为x,则print(sorted(x)) 。

输出两个班级的所有人员名单和数量。 输出两个班级中既参加数学,也参加计算机竞赛的名单和数量。 输出两个班级中参加比赛的女名单和数量。 输出两个班级中只参加数学竞赛的名单。

输入样例:

在这里给出一组输入。例如:

1 2 3 4 a s d f
6 7 8 9 6 5 z x c
2 3 a s 8 9 z
1 3 4 s d 5 9 x z
输出样例:

在这里给出相应的输出。例如:

Total: [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘a’, ‘c’, ‘d’, ‘f’, ‘s’, ‘x’, ‘z’], num: 16
Math and jsj: [‘3’, ‘9’, ‘s’, ‘z’], num: 4
FeMale in race: [‘a’, ‘d’, ‘s’, ‘x’, ‘z’], num: 5
Only Math: [‘2’, ‘8’, ‘a’]

alist = []                                                                     
blist = []                                                                     
math = []                                                                      
total = []                                                                     
computer = []                                                                  
Mathandjsjlist = []                                                            
FeMaleinracelist = []                                                          
OnlyMathlist = []                                                              
alllist = []                                                                   
                                                                               
alist = input().split()                                                        
blist = input().split()                                                        
math = input().split()                                                         
computer = input().split()                                                     
                                                                               
for i in range(blist.count(' ')):                                              
    blist.remove(' ')                                                          
for i in range(math.count(' ')):                                               
    math.remove(' ')                                                           
for i in range(computer.count(' ')):                                           
    computer.remove(' ')                                                       
                                                                               
                                                                               
alist=list(set(alist))                                                         
alist = [x.strip() for x in alist if x.strip() != '']                          
blist=list(set(blist))                                                         
total=sorted(alist+blist)                                                      
print("Total: {},".format(total),"num: {}".format(len(total)))                 
comparelist=math+computer                                                      
alllist = list(set(comparelist))                                               
for i in comparelist:                                                          
    if comparelist.count(i) == 2:                                              
        Mathandjsjlist.append(i)                                               
Mathandjsjlist = list(set(Mathandjsjlist))                                     
Mathandjsjlist = sorted(Mathandjsjlist)                                        
print("Math and jsj: {}, num: {}".format(Mathandjsjlist,len(Mathandjsjlist)))   
                                                                               
n = 0                                                                          
for i in alllist:                                                              
    if i >= 'a' and i <= 'z':                                                  
        n = n +1                                                               
        FeMaleinracelist.append(i)                                             
                                                                               
                                                                               
FeMaleinracelist = sorted(FeMaleinracelist)                                    
print("FeMale in race: {},".format(FeMaleinracelist),"num: {}".format(n))      
for i in math:                                                                 
    if i in comparelist:                                                       
        if comparelist.count(i) == 1:                                          
            OnlyMathlist.append(i)                                             
                                                                               
OnlyMathlist = sorted(OnlyMathlist)                                            
print("Only Math: {}".format(OnlyMathlist))                                     
                                               

16
7-16 键盘输入学习的课程名称及考分等信息并计算

键盘输入学习的课程名称及考分等信息,屏幕输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留2位小数)。
输入格式:

键盘输入学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入。

输出格式:

屏幕输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留2位小数)。

输入样例:

示例格式如下:

数学 90
语文 95
英语 86
物理 84
生物 87
输出样例:

最高分课程是语文95,最低分课程是物理84, 平均分是88.40

data = input()
d={}
while data:
    t=data.split()
    d[t[0]]=int(t[1])
    data = input()
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
s1,g1=ls[0]
s2,g2=ls[len(ls)-1]
a=0
for i in d.values():
    a=a+int(i)
a=a/len(ls)
print("最高分课程是{}{}, 最低分课程是{}{}, 平均分是{:.2f}".format(s1,g1,s2,g2,a))

17
7-17 成绩统计1

输入一个正整数n(n>=1),然后输入n行数据,表示的是某班各位同学的各科成绩,请统计出各门课程的最高分。
输入格式:

先一个正整数n(n>=1),然后输入n行数据

输出格式:

输出各门课程的最高分

输入样例:

2
{‘语文’:95,‘数学’:82,‘英语’:75}
{‘语文’:98,‘数学’:72,‘英语’:85}
输出样例:

语文:98
数学:82
英语:85

import re
list = []
n = int(input())
for i in range(n):
    s = input()
    list.append(re.split('[\':}{,]',s))
l = [num for i in list for num in i]
ke = []
for i in l:
    if i != '':
        ke.append(i) #过掉''
#print(ke)
k = []
for i in range(len(ke)):
    isok = 1
    if i % 2 == 0:
        for j in range(len(k)):
            if ke[i] == k[j]:
                isok = 0
        if isok == 1:
            k.append(ke[i]) 
for i in range(len(k)):
    max = 0
    for j in range(1,len(ke)):
        if ke[j-1] == k[i]:
            if max < float(ke[j]): 
                max = float(ke[j])
    print(k[i]+':'+'{:g}'.format(max),end='')
    if i != len(k)-1:
        print()

18
7-18 计算并输出这组人员的平均年龄(保留2位小数)和其中男性人数

键盘输入一组人员的姓名、性别、年龄等信息,信息间采用空格分隔,计算并输出这组人员的平均年龄(保留2位小数)和其中男性人数。
输入格式:

每人一行,空行回车结束录入,示例格式如下:

张三 男 23

李四 女 21

王五 男 18

输出格式:

平均年龄是20.67 男性人数是2

输入样例:

张三 男 23
李四 女 21
王五 男 18
此处有一个空行
输出样例:

平均年龄是20.67 男性人数是2

date = input()
num = 0 
sum_age = 0 
avg = 0 
num_man = 0 
while date: 

    num += 1
    ls = date.split()   
    sum_age += eval(ls[2]) 
    if ls[1] == '男':
        num_man += 1
    date = input()
avg = sum_age/num
print('平均年龄是{:.2f} 男性人数是{}'.format(avg,num_man))

19
7-19 统计各行业就业的学生数量,按数量从高到低方式输出。

键盘输入某班各个同学就业的行业名称,行业名称之间用空格间隔(回车结束输入) 。统计各行业就业的学生数量,按数量从高到低方式输出。
输入格式:

输入各个同学行业名称,行业名称之间用空格间隔(回车结束输入)

交通 金融 计算机 交通 计算机 计算

输出格式:

输出参考格式如下,其中冒号为英文冒号:

计算机:3

交通:2

金融:1

输入样例:

交通 金融 计算机 交通 计算机 计算
输出样例:

计算机:3
交通:2
金融:1

l = input().split()
z = {}
for i in range(len(l)):
    if l[i] in z:
        z[l[i]] += 1
    else:
        z[l[i]] = 1

l2 = list(z.items())
l2.sort(key=lambda x: x[1], reverse=True)

for i in range(len(l2)):
    print('{:}:{:}'.format(l2[i][0], l2[i][1]))

20
7-20 词频统计-基础题

请编写程序,对一段文本(不带符号),统计其中所有不同单词的个数,以及词频最大的前5个词。
输入格式:

输入给出一段非空文本,可以是中文或者英文,词间空格或分行隔开。

输出格式:

输出词的总数和词频最大的前5个词。注意“不区分英文大小写,例如“PAT”和“pat”被认为是同一个词。

随后按照词频递减的顺序,按照“单词:词频”的格式输出词频最大的前5个词。若有并列,则按递增字典序输出。

输入样例1:

在这里给出一组输入。例如:

This is a test
so is considered as the same as long

But this_8 is different than this
输出样例1:

在这里给出相应的输出。例如:

14
is:3
as:2
this:2
a:1
but:1
输入样例2:

在这里给出一组输入。例如:

双儿 洪七公 赵敏 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖
杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙
金轮法王 小龙女 杨过 乔峰 杨逍 乔峰 慕容复
输出样例2:

在这里给出相应的输出。例如:

17
乔峰:4
慕容复:3
杨逍:3
杨过:2
殷天正:2

str = []
while 1:
    try:
        str.append(input())  # 实现多行输入 利用bug般的机制
    except:
        break
# print(str)
list = []
for o in range(len(str)):
    list.append(str[o].split(' '))  # 将二元列表 中的元素分隔开
# [['This', 'is', 'a', 'test'], ['', 'so', 'is', 'considered', 'as', 'the',
# 'same', 'as', 'long'], [''], ['But', 'this_8', 'is', 'different', 'than', 'this']]
a = [num for row in list for num in row]  # 将二元列表幻化为一元
############转化为小写字母##################这个代码写的很luan  这个题麻烦
for o in range(len(a)):
    a[o] = a[o].lower()
##print(a)##########转化为小写字母##################这个代码写的很luan  这个题麻烦
b = [a[0]]  # 装入 每个name(充当哈希表 不可重复)
c = [0]  # 计入每个name出现的次数
d = 0
for i in range(0, len(a)):
    d = 0
    for j in range(0, len(b)):  # 装入b 和 c
        if a[i] == b[j]:
            d = 1
            c[j] += 1
    if d == 0 and a[i] != '':  # 注意分割可能有空值 空舍弃
        b.append(a[i])
        c.append(1)
e = []
max = 0
print(len(b))  # 打印有多少个不一样的
for j in c:
    if max < j:  # 获取c的最大值
        max = j
for j in range(0, len(b)):  # 将b按字符循序排序 并从新转入e中
    e.append(b[j])
e.sort()
f = []
for i in range(0, len(e)):
    for j in range(0, len(b)):
        if e[i] == b[j]:
            f.append(c[j])  # 刷新 c中的顺序于f
ct2 = int(0)  # 计数 5
while max > 0:
    for j in range(0, len(e)):
        if f[j] == max:
            print(e[j], end=':')  # 按照最大出现字数进行输出
            ct2 += 1
            print(f[j])
            if ct2 == 5:
                ct2 = -1  # 只输出5个 -1 为结束标记
                break
        if ct2 == -1: break
    max -= 1
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐