python输入n个1到100之间的正整数,求各位数字的出现次数,按次数大小排序输出,如果次数相同,那么按数字从小到大拍ixu
时间: 2024-10-28 10:13:17 浏览: 12
在 Python 中,你可以通过使用字典来记录每个数字的出现次数,然后使用 `collections.Counter` 结合 `sorted()` 函数实现按需求排序的结果。这里是一个例子:
```python
from collections import Counter
def count_and_sort_numbers():
n = int(input("请输入你想输入的正整数的数量:"))
numbers = [int(input(f"请输入第 {i+1} 个数字(1-100之间):")) for i in range(n)]
# 使用Counter计算每个数字的频率
digit_counts = Counter(numbers)
# 按照出现次数和数值排序
sorted_counts = sorted(digit_counts.items(), key=lambda x: (-x[1], x[0]))
# 输出结果
print("按次数由大到小,数字由小到大排列的结果是:")
for num, freq in sorted_counts:
print(f"{num}: {freq} 次")
count_and_sort_numbers()
```
在这个脚本中,用户会被提示输入一定数量的整数,然后程序会统计每个数字的出现次数并按照题目要求排序输出。
阅读全文