写一个程序，它接受一个包含数字的列表，并输出所有不同数字的总数和每个数字的出现次数。



[1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
以下是Python代码实现：

```python
def count_numbers(lst):
    frequency = {}
    for num in lst:
        if num in frequency:
            frequency[num] += 1
        else:
            frequency[num] = 1
    print('不同数字总数:', len(frequency))
    for key, val in frequency.items():
        print(f'{key} 出现 {val} 次')

numbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
count_numbers(numbers)
```

输出：

```
不同数字总数: 4
1 出现 1 次
2 出现 2 次
3 出现 3 次
4 出现 4 次
```