今回の記事は素数をGeneratorを使用して出力するプログラムを作成しました。
是非、勉強の参考にしてください。
コード
from typing import Generator
def primlist(number):
n_list = {}
for i in range(2, number + 1):
is_prime = n_list.get(i)
if is_prime is False: # Falseの場合は次の処理に行く
continue
yield i
n_list[i] = True
for j in range(i * 2, number + 1, i):
n_list[j] = False # 2倍の数はFalseにしていく
n = int(input('数字入力')) # 入力を受け取る。
print(f'素数リスト->{[i for i in primlist(n)]}')
for文で書くよりも圧倒的に出力されるスピードは速いです。
是非参考にしてください。
以上になります。