给定公司多名员工的工龄,按输入工龄顺序输出每个工龄段有多少员工。 输入格式: 给出多个整数,即每个员工的工龄,范围在[0, 50]。
时间: 2024-05-16 20:13:52 浏览: 178
这道题可以使用桶排序的思想来解决,具体实现如下:
```python
ages = input().split() # 输入多个整数,用空格分隔
count = [0] * 51 # 初始化桶,下标为工龄,值为该工龄的员工人数
# 统计每个工龄的员工人数
for age in ages:
count[int(age)] += 1
# 输出每个工龄段的员工人数
for i in range(51):
if count[i] > 0:
print('{}:{}人'.format(i, count[i]))
```
其中,`count` 列表用来记录每个工龄的员工人数。遍历输入的每个工龄,将对应的桶加 1。最后遍历桶,输出每个工龄段的员工人数。
注意,由于工龄范围在 [0, 50],因此桶的长度应该为 51,这样才能记录所有工龄的员工人数。
相关问题
给定公司多名员工的工龄,按输入工龄顺序输出每个工龄段有多少员工。 输入格式: 给出多个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按输入工龄顺序输出每个工龄的员工个数,格式为:“工龄:人数”。 每项占一行。
要完成这个任务,我们可以使用 Python 的内置数据结构 `collections.Counter` 来统计每个工龄出现的次数。以下是一个简单的解决方案:
```python
from collections import Counter
def count_employees(ages):
# 使用 Counter 统计年龄出现的次数
age_counts = Counter(ages)
# 遍历年龄及其对应的员工数量并输出
for age, count in age_counts.items():
print(f"工龄: {age}: {count}")
# 示例输入
ages = [1, 3, 2, 5, 3, 4, 5, 3, 6, 7]
count_employees(ages)
```
这段代码首先导入了 `Counter` 类,然后定义了一个函数 `count_employees`,该函数接受一个包含员工工龄的列表。接着,我们创建了一个 `Counter` 对象来计算各个工龄的数量,最后遍历这些计数并按照指定格式打印结果。
如果你有具体的员工工龄列表,只需要替换 `ages = [1, 3, 2, 5, 3, 4, 5, 3, 6, 7]` 这一行即可。
给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数N(≤10 5 ),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。
好的,那么这个问题可以使用 Python 语言解决。以下是解决方案:
```python
n = int(input()) # 员工总人数
ages = list(map(int, input().split())) # 员工工龄列表
# 统计每个工龄的员工数量
age_dict = {}
for age in ages:
age_dict[age] = age_dict.get(age, 0) + 1
# 按工龄的递增顺序输出每个工龄的员工个数
for i in range(51):
if age_dict.get(i, 0) != 0:
print("{}:{}".format(i, age_dict[i]))
```
输入样例:
```
15
23 25 27 23 25 28 28 23 22 22 25 27 25 22 23
```
输出样例:
```
22:3
23:4
25:4
27:2
28:2
```
阅读全文