python:给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(0~9)各出现了多少次。
时间: 2024-10-16 19:10:11 浏览: 42
用python编写两个正整数的最大公约数和最小公倍数的小程序
在Python中,你可以通过遍历区间[a, b]内的所有整数,并对每个数字的出现次数进行计数来解决这个问题。这里可以利用字典(dictionary)来存储每个数字(从0到9)及其出现的次数。以下是简单的步骤:
1. 初始化一个空字典`digit_count`,用于存储结果。
2. 遍历范围`range(a, b+1)`,对于每一个整数`num`:
- 将`num`转换为字符串,以便逐位检查。
- 对于字符串中的每个字符(即每个数字),如果它已经在`digit_count`中,则增加该数字对应的计数值,否则将这个数字添加到字典并设置其值为1。
3. 返回`digit_count`字典。
这是一个示例函数:
```python
def count_digits(a, b):
digit_count = {i: 0 for i in range(10)} # 初始化数字计数
for num in range(a, b + 1):
str_num = str(num)
for digit in str_num:
digit_count[int(digit)] += 1
return digit_count
# 使用示例
result = count_digits(100, 200)
for digit, count in result.items():
print(f"数字{digit}出现了{count}次")
```
阅读全文