Remrinのpython攻略日記

python3に入門しました。python3についてあれこれとサンプルコードとか。

2017-05-22から1日間の記事一覧

3つのif

ifの使い方について。 「1000未満の3または5の倍数の和を求める」場合 ○条件分岐 limit = 1000 result = 0 for i in range(limit): if i%3 == 0 or i%5 ==0: result += i print(result) ○内包表記 limit = 1000 result = sum([x for x in range(limit) if x%…

NumPyの使い方(19) 数え上げ

NumPyの数え上げ(要素のカウント)について。 0,1のみのデータから1や0の個数を数える方法 import numpy as np a1 = np.array([0, 1, 1, 0, 1, 0, 0, 0]) # 1の個数をカウントする例 print(np.count_nonzero(a1)) # 3 print(a1.sum()) # 3 print(len(np.where…

素数

素数について。 素数生成のジェネレータ def gen2(start=2, stop=1000000): pr = max(1, start - 1) while True: while pr < stop: pr += 1 if all(pr%x != 0 for x in range(2, int(pr**0.5) + 1)): break yield pr g = gen2() for i in range(10): print(n…

ジェネレータ

ジェネレータについて。 通常の関数のreturnの部分をyieldとするとジェネレータを自作できる。 偶数を生成するジェネレータ def gene(): even = 0 while True: yield even even += 2 e = gene() for i in range(5): print(next(e)) 素数を生成するジェネレー…