Project Euler 144 namedtuple

Problem 144

ただの高校数学ですが、Pythonのnamedtupleを説明するために使います。

namedtupleは中身はタプルでもクラスのように使えるものです。

from collections import namedtuple

Point = namedtuple("Point", "x y")

これだけでPointクラスのように使えるようになります。

pt = Point(2, 3)
print pt.x, pt.y        # 2 3

こう書けると気分がいいですよね。

print pt[0], pt[1]      # 2 3

こうも書けます。