python给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3
时间: 2024-10-14 07:05:55 浏览: 20
在python中实现求输出1-3+5-7+9-......101的和
5星 · 资源好评率100%
为了统计Python中一个k位整数N的每一位数字出现的次数,我们可以遍历每个数字,并将其作为字典的一个键,如果遇到相同的数字则计数加一。这里是一个简单的示例:
```python
def count_digits(n, k):
digit_counts = {} # 初始化一个空字典来存储数字和它们的出现次数
while n > 0: # 遍历整数的每一位
last_digit = n % 10 # 取出个位数字
n //= 10 # 移除个位后的数字
if last_digit in digit_counts:
digit_counts[last_digit] += 1 # 数字已存在,计数加一
else:
digit_counts[last_digit] = 1 # 新的数字,设置初始计数为1
return digit_counts # 返回数字计数结果
# 测试
n = 100311
digit_counts = count_digits(n, len(str(n)))
for digit, count in digit_counts.items():
print(f"数字 {digit} 出现了 {count} 次")
# 结果会输出:数字 0 出现了 2 次,数字 1 出现了 3 次,数字 3 出现了 1 次
```
阅读全文