编写程序随机输入包含任意个0到10之间的整数列表并按升序统计每个元素的出现次数。用例:输入:1343514143输出:13 33 43 51
思路:首先将输入的字符串转换成数字列表,然后用collections模块中的Counter类进行统计,最后按升序输出每个元素和其出现次数。
代码如下:
import collections
# 输入数字字符串,返回数字列表
def str_to_list(s):
return [int(x) for x in s]
# 统计数字列表中每个元素的出现次数
def count_elements(lst):
cnt = collections.Counter(lst)
return cnt
# 输出结果
def print_result(cnt):
for k, v in sorted(cnt.items()):
print(f"{k}:{v}\t", end="")
# 主函数
def main():
s = input("请输入数字字符串:")
lst = str_to_list(s)
cnt = count_elements(lst)
print_result(cnt)
if __name__ == '__main__':
main()
测试结果:
请输入数字字符串:1343514143
1:3 3:3 4:3 5:1
``
原文地址: https://www.cveoy.top/t/topic/faDx 著作权归作者所有。请勿转载和采集!