# coding: utf-8
# 範囲していした素数判定プログラム
#
# どの範囲まで素数を求めてリストとして出力するかの関数定義
def isprime(num):
prime_number = [2] # 素数は2より大きいのは自明
for i in range(3, num, 2): # 3からnumまで,偶数をスキップするループ
prime = True
for n in range(len(prime_number)):
if prime_number[n]**2 > i: # 素数はその平方根未満より大きな数では割り切れないという性質を利用する
# 該当すれば、ループを抜けて次の数字で割る演算処理
break
if i % prime_number[n] == 0:
# これまで取得した素数で割って該当すれば素数ではないのでループを抜ける
prime = False
break
if prime: # if prime == True と同じ表現
# 新たな素数を取得すればリストの最後尾に追加する
prime_number.append(i)
print(prime_number) # リストprime_numberの要素を全て出力する
isprime(100) # どこまで判定するかの上で定義した関数呼び出し
# ここでは、実例として100までの素数を求める
===========================
出力結果
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
※追記※
Pythonは、TAB(タブ)で条件分岐やループ処理や関数定義などを行うのですが、
残念なことにブログでは、TABを認識してくれません。Pythonでは改行やインデントはコードの一部と見做します。
HTMLでの出力方法はあるのですが面倒なので、「 」これの半角をタグとして必要な分だけ反復ペーストしました。