Python.use(better) #body: step03 -- for i,e in enumerate(f)
‖記事一覧‖ Python.use(better)《Python3.1》
for i,e in enumerate(f)
《著》森こねこ、小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28
課題を作成する過程を通して「ファイル操作」の理解を深めます。
※ Python1.5 で作成した例題を、Python3.1 で再構成しました。
事例:モジュールを起動する
■ 全項目を確認する
全ステップの「項目」を確認するには、関数 do を利用します。
$ python -i my_range.py >>> do() ... 3: step03 -- for i,e in enumerate(f):
■ 各項目を実行する
各ステップの「動作」を確認するには、関数 do に実引数を指定します。
>>> do(3) >>> # -------------------------------------------------- step03 >>> body('temp') 1: A - 65 2: B - 66 3: C - 67 >>>
新たにファイル 'temp' を作成するとともに、行番号に続いて各行を出力します。
事例:コードの解説
def body(file):
with open(file,"w") as s:
for e in "ABC":
s.write("%s - %d\n"%(e,ord(e)))
with open(file,"r") as s:
for i,e in enumerate(s):
n = i+1
print("%d: %s"%(n,e),end="")
《余録》テストケース
def ex_body0(local, n):
X = 'body({0!r})'.format(n)
print_(X, local)
■ #1: 組み込み関数 enumerate
for i,e in enumerate(s):
n = i+1
print("%d: %s"%(n,e),end="")
組み込み関数 enumerate を利用すると、
- シーケンスを構成する各要素 e には、0 から始まるオフセット値 i が対応します。
- 行番号 n に続いて、ファイル s の各行 e を出力 print します。
》こちらに移動中です《
↑TOP