python每期一练1012

008.赫敏在一家印刷公司上班,她的一项工作就是统计一本书籍页码中包含的所有页码数字的个数(从1开始,包含结束页码)。比如,一本4页的书包含4个页码数字(1,2,3,4)。请编写一个函数,给定一个页数,求出一共出现的数字个数。


题目来源:codcwars

"""
赫敏在一家印刷公司上班,她的一项工作就是统计一本书籍页码中包含的所有页码数字的个数(从1开始,包含结束页码)。比如,一本4页的书包含4个页码数字(1,2,3,4)。请编写一个函数,给定一个页数,求出一共出现的数字个数。

示例:
输入:4,输出:4。因为页数是1,2,3,4
输入:12,输出:15,因为1-9页共9个数字,10,11,12各有2各数字。

题目难度:简单
"""


def page_digits(n: int) -> int:
    sum_digits = 0
    for i in range(1, n + 1):
        sum_digits += len(str(i))
    return sum_digits


if __name__ == '__main__':
    assert page_digits(4) == 4
    assert page_digits(12) == 15
    assert page_digits(100) == 192
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值