python计算书页码的统计数字问题实例

688次阅读  |  发布于5年以前

本文实例讲述了python计算书页码的统计数字问题,是Python程序设计中一个比较典型的应用实例。分享给大家供大家参考。具体如下:

问题描述:对给定页码n,计算出全部页码中分别用到多少次数字0,1,2,3,4...,9

实例代码如下:


    def count_num1(page_num): 
      num_zero = 0 
      num_one = 0 
      num_two = 0 
      num_three = 0 
      num_four = 0 
      num_five = 0 
      num_six = 0 
      num_seven = 0 
      num_eight = 0 
      num_nine = 0 
      page_list = range(1,page_num + 1) 
      for page in page_list: 
        page = str(page) 
        num_zero += page.count('0') 
        num_one += page.count('1') 
        num_two += page.count('2') 
        num_three += page.count('3') 
        num_four += page.count('4') 
        num_five += page.count('5') 
        num_six += page.count('6') 
        num_seven += page.count('7') 
        num_eight += page.count('8') 
        num_nine += page.count('9') 
      result = [num_zero,num_one,num_two,num_three,num_four,num_five,num_six,num_seven,num_eight,num_nine] 
      return result 

    print count_num1(13) 

上面这段代码略显臃肿,所以改了下代码。

改后的代码如下:


    def count_num2(page_num): 
      page_list = range(1,page_num + 1) 
      result = [0 for i in range(10)] 
      for page in page_list: 
        page = str(page) 
        for i in range(10): 
          temp = page.count(str(i)) 
          result[i] += temp 
      return result
    print count_num2(13)

本文实例测试运行环境为Python2.7.6

程序输出结果为:

[1, 6, 2, 2, 1, 1, 1, 1, 1, 1]

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8