python解决页码计数问题(统计数字问题)【可读写文件版】

1、问题描述:

一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。数字计数问题要求对给定书的总页码n(<=200000),计算出书的全部页码中分别用到多少次数字0,1,2,…,9。

2、输入格式

在文件中input.txt输入一个正整数n。

3、输出格式

输出到out.txt文件中。

4、代码

def main():
    f = open('002_input.txt','r')
    n = int(f.read())

    print("已读取到页码是{}".format(n))
    f.close()

    # n = int(input("请输入页码"))
    list = [0]*10

    for i in range(1,n+1):
        while i:
            a = (i%10)
            list[a] += 1
            i = int(i/10)

    f = open('002_out.txt', 'w')
    f.write("页码总数是{}\n \n0出现{}次,\n1出现{}次,\n2出现{}次,\n3出现{}次,\n4出现{}次,\n5出现{}次,\n6出现{}次,\n7出现{}次,\n8出现{}次,\n9出现{}次".format(n,list[0],list[1],list[2],list[3],list[4],list[5],list[6],list[7],list[8],list[9]))
    print("写入完毕")
    f.close()

if __name__ == '__main__':
    main()

5、结果展示

(1)输入

在这里插入图片描述

(2)输出

在这里插入图片描述
查看来源:https://bbs.csdn.net/topics/608761781

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值