L1-003 个位数统计 (15分)
输入格式:
每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。
输出格式:
对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
代码
num = input() #用变量num接受输入的数字
bits = list(num) #因为input默认接收字符串,用list()函数将这个数字的每一位分开
counts = {} #建立一个字典统计个位数
for i in bits : #遍历bist,进行计数
counts[i] = counts.get(i,0)+1 #counts.get(i,0),如果键i存在则返回相应值,否则返回默认值0。然后加1,改变原来的值
items = list(counts.items()) #将键值对变成列表
items.sort(reverse = False) #把键按照升序的方式排列。也就是控制输出,先为0的个数,然后为1的个数等
for i in items : #遍历items获得键值对
bit, count = i #用bit接收键,用count接收值
print("{}:{}".format(bit, count)) #输出结果