python計算書ページコードの統計数値問題の例

1719 ワード

この例では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)


本実施例の試験運転環境はPython 2である.7.6
プログラム出力結果:
[1, 6, 2, 2, 1, 1, 1, 1, 1, 1]
ここで述べたことが皆さんのPythonプログラム設計に役立つことを願っています.