Python.use(better)

前の記事記事一覧次の記事
Python.use(better)


実録:はじめてのプログラミング《10》

行番号課題(0)要求仕様

《step 1》テキストファイルを読み込んで、行番号とともに表示します。

行番号課題を作成しながら、入出力について学びます。
以下の事例では、その動作を確認するために、テキストファイル queens.py を複製したものを(現在の作業用フォルダー内に)用意します。これは「8クイーン問題」を扱ったもので、Python をインストールすると、フォルダー Python 2.X/Extras/Demo/scripts に収録されています。

def ex():
    for e in body("queens.py", end=5):
        print(e, end="")
    print()

>>> ex()
 1: #! /usr/bin/env python
 2: 
 3: """N queens problem.
 4: 
 5: The (well-known) problem is due to Niklaus Wirth.

関数 body は、テキストファイル queens.py を読み込んで、先頭から末尾 end=5 までの各行を要素とするリストを生成します。すると、1行目から5行目までのコードの断片を出力します。このように、キーワード引数を省略すると start=1 を指定したものと見なされます。

def ex():
    for e in body("queens.py", start=81):
        print(e, end="")
    print()

>>> ex()
81:     q.solve()
82:     print "Found", q.nfound, "solutions."
83: 
84: if __name__ == "__main__":
85:     main()

関数 body は、テキストファイル queens.py を読み込んで、先頭 start=81 から末尾までの各行を要素とするリストを生成します。すると、81行目から85行目までのコードの断片を出力します。このように、キーワード引数を省略すると end=(最終行) を指定したものと見なされます。

def ex():
    for e in body("queens.py", 8, 12):
        print(e, end="")
    print()

>>> ex()
 8: a classic recursive backtracking approach.
 9: 
10: """
11: 
12: N = 8                                   # Default; command line overrides

関数 body は、テキストファイル queens.py を読み込んで、先頭 start=8 から末尾 end=12 までの各行を要素とするリストを生成します。すると、8行目から12行目までのコードの断片を出力します。このように(キーワード引数を省略すると)すべて位置引数を指定したものと見なされます。

Tips

Last updated♪09/03/06