100までの素数の列挙を行おうと、様々なサイトで調べてコードを書いたのですが
prime_number = [2] for T in range(3,101,2): for Ts in prime_number: if T % Ts == 0: break else: prime_number.append(T) print(prime_number)
このコードを実行するとすごい勢いで大量の数字が無限に出てきたのですが、上のコードだとどういった処理が行われているのでしょうか。
elseの位置が間違えていること、内側のfor文と同じ位置にelseを書くことで内側のfor文の処理が終わった後にelseの処理が行われるというのは知っているのですがif文と同じ位置からelseを書いても変わらないのではと思い実行したら上のような有様となりました。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/02 09:22 編集
2020/05/03 10:46