📜  一本书有 400 页,编号为 1、2、3,依此类推。数字 3 在页码中出现了多少次?(1)

📅  最后修改于: 2023-12-03 15:21:26.589000             🧑  作者: Mango

统计数字在页码中出现的次数

本程序将统计一个有400页的书中数字3在页码中出现的次数。

算法设计

为了统计数字在页码中出现的次数,我们可以做如下的算法设计:

  1. 将1~400的数字转化为字符串类型
  2. 对于每个数字字符串,遍历其中的每个字符,统计出“3”的数量
  3. 对于所有数字字符串的“3”数量求和,即为数字3在页码中出现的总次数

因此,本程序需要有以下功能:

  1. 将数字转化为字符串
  2. 遍历字符串中的每个字符,并统计某个字符出现的次数
  3. 对多个数字字符串的“某个字符”的数量求和
代码实现
def digit_in_page():
    # 初始化统计数量
    count = 0

    # 遍历每一页
    for i in range(1, 401):
        # 将页码转化为字符串
        page = str(i)
        # 统计数字3在页码中出现的次数
        count += page.count('3')

    # 返回结果
    return count
测试
assert digit_in_page() == 58

因此,数字3在页码中出现的总次数为58次。