[题目描述]
已知水果的种类共有 M 种,给出长度为 N 的序列,每个数字表示的是它是哪种水果。求每种水果各有多少个,按照对应编号从小到大的顺序输出。
输入:
输入共两行:第一行包含两个整数 N,M(1 <= N,M <= 10000),第二行 N 个整数,表示水果序列 an 。
输出:
输出共一行,包含 M 个整数,表示每种水果的数量。
样例输入1
5 5
1 2 3 4 3
样例输出1
1 1 2 1 0
来源/分类(难度系数:一星)
完整代码展示:
a,b=map(int,input().split())
c=list(map(int,input().split()))
d=[]
for i in range(1,b+1):
d.append(i)
e=[]
for j in range(0,len(d)):
e.append(c.count(d[j]))
sum=""
for k in range(0,len(e)):
sum+="{} ".format(e[k])
print(sum)
代码解释:
“a,b=map(int,input().split())
c=list(map(int,input().split())) ”,让用户输入水果的数量a及数果的种类b。接着让用户输入每个水果的具体所属的种类,并将其储存在列表c中。
“d=[]
for i in range(1,b+1):
d.append(i) ”,建立一个空列表d,将水果的所有种类对应的数字添加进列表d中。
“e=[]
for j in range(0,len(d)):
e.append(c.count(d[j])) ”,建立一个空列表e,依次遍历列表d中所有元素,并将d中数字对应种类的水果在c中的数量添加进列表e中。
“sum=""
for k in range(0,len(e)):
sum+="{} ".format(e[k])
print(sum) ”,建立一个空字符串sum,让sum依此连接e中所有元素,且每两个元素之间插入一个空格。遍历结束后,打印sum。
运行效果展示:
(声明:以上 内容均为原创)