SHOT4

社会人大学院生の勉強記録

問2.8 (制御構文)

問題文

tutorials.chainer.org

制御構文を活用して、2から100までに含まれる素数を列挙する問題

解答

a = list(range(2,101)) # 2〜100までのリストを作成
ans = [] # 解答用リストを用意

for x in a:
    for i in range(1,x+1):
        if i == x: # 素数だった場合
            ans.append(x)
        elif i == 1: # 1はスルーする
            continue
        elif  x % i == 0: # 割り切れたら抜ける
            break
            
print(ans)

[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]

もう少し簡単に書けそう。別解を見つけたら追記します。

meganeshot4.hatenablog.com