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

猜你喜欢

转载自blog.csdn.net/qq_43750528/article/details/127352940