输入多个数字(空格分隔),统计输出数字出现次数,在同一行输出,python
时间: 2023-12-15 13:05:25 浏览: 70
可以使用字典来存储每个数字出现的次数,具体代码如下:
```python
num_list = input("请输入多个数字(空格分隔):").split()
num_dict = {}
for num in num_list:
if num in num_dict:
num_dict[num] += 1
else:
num_dict[num] = 1
for num, count in num_dict.items():
print(num, "出现次数:", count, end=" ")
```
以上代码中,首先使用 `input()` 函数获取用户输入的数字列表,然后使用 `split()` 方法将其转换为列表。接着创建一个空字典 `num_dict`,用于存储每个数字出现的次数。然后遍历数字列表,如果数字已经在字典中,则将其对应的值加一,否则将其添加到字典中,并将对应的值设置为 1。最后遍历字典,输出每个数字及其出现次数。由于要在同一行输出,因此使用 `end` 参数将输出的结尾设置为空格。
相关问题
【问题描述】输入若干个0~9之间的数字,并统计输出0~9出现的次数,打印在一行【输入形式】 输入多个数据(空格分隔)【输出形式】 【样例输入】 88652109716966923329【样例输出】 1232014124【样例说明】 对于所给样例,输出的数据表明0出现了1次,1出现2次,2出现3次,…【评分标准Python语言
以下是使用 Python 语言实现的解法:
```python
num_list = input().strip() # 输入数字序列并去除首尾空格
count_dict = {} # 用字典存储数字出现次数
for num in num_list:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
# 按顺序输出每个数字出现的次数
for i in range(10):
if str(i) in count_dict:
print(count_dict[str(i)], end='')
else:
print('0', end='')
```
解释一下代码的思路:
1. 首先读入数字序列,使用 `strip()` 函数去除首尾空格。
2. 创建一个空字典 `count_dict`,用于存储每个数字出现的次数。
3. 依次遍历数字序列,如果当前数字已经出现过,则将其出现次数加1,否则将其加入字典并将出现次数设为1。
4. 最后按顺序输出每个数字出现的次数,如果某个数字没有出现过,则输出0。
希望能够帮到你!
统计一个整型序列中出现次数最多的整数及其出现次数。 输入格式:输入在一行中给出序列中整数个数N(N≤1000),以及N个整数。数字间以空格分隔。 输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。
可以使用字典来统计整型序列中每个整数出现的次数,然后遍历字典找到出现次数最多的整数及其出现次数。代码如下:
```python
n = int(input())
nums = input().split()
count = {}
for num in nums:
if num in count:
count[num] += 1
else:
count[num] = 1
max_num = None
max_count = 0
for num, cnt in count.items():
if cnt > max_count:
max_num = num
max_count = cnt
print(max_num, max_count)
```
解释一下代码的过程:
1. 首先读入整型序列的长度 `n`,然后读入 `n` 个整数,存放在列表 `nums` 中。
2. 定义一个空字典 `count`,用来统计每个整数出现的次数。
3. 遍历列表 `nums`,对于每个整数,如果在字典 `count` 中已经存在,则将其出现次数加1,否则将其加入字典 `count` 中,并将其出现次数初始化为1。
4. 遍历字典 `count`,找到出现次数最多的整数及其出现次数。如果有多个整数出现次数相同,则输出最小的那个整数。
5. 最后输出结果。
阅读全文