≮Python≯ 0 から 9 までを 2乗して合計するプログラムあれこれ
Python の 0 から 9 までを 2乗して合計するプログラムあれこれです。
※ パターン4とパターン5のジェネレータ式は、Pythonチュートリアル第3版から引用しています。
# 0 から 9 までを 2乗して合計するプログラムあれこれ
# パターン1 基本型
s = 0
for i in range(10):
s += i * i
print ('パターン1', s)
# パターン2 クラスベースの反復子を使用
class C:
def __init__(self, stop):
self.no = 0
self.stop = stop
def __iter__(self):
return self
def __next__(self):
if self.stop <= self.no:
raise StopIteration
ret = self.no * self.no
self.no += 1
return ret
s = 0
for i in C(10):
s += i
print ('パターン2', s)
# パターン3 ジェネレータを使用
def G(stop):
no = 0
while no < stop:
yield no * no
no += 1
s = 0
for i in G(10):
s += i
print ('パターン3', s)
# パターン4 ジェネレータ式を使用(for)
s = 0
for ii in (i * i for i in range(10)):
s += ii
print ('パターン4', s)
# パターン5 ジェネレータ式を使用(sum)
print ('パターン5', sum(i * i for i in range(10)))
実行結果
パターン1 285
パターン2 285
パターン3 285
パターン4 285
パターン5 285
#Chromebook 上の #Linux で #Python #Python3 #プログラミング を勉強中 !
#反復子
#iterator
#ジェネレータ
#ジェネレータ式