MENU
日報#7|素数リベンジ。回文判定。pass,continue,breakについて。

⬛︎素数判定のプログラムについて。
◼︎素数判定のプログラムを書き、期待する出力結果を出すことができた。学んだことは以下。
・まず素数とは、1と自分自身以外に正の約数を持たない自然数で、1は含まない。つまり、例えば10が素数であるか調べたい時には、2,3,4,5,6,7,8,9で割り、全ての結果で余りがあれば10は素数であるという考え方をする。
・素数判定の方法はいくつかあることを知ったが、今回は一番簡単な方法を選んだ。『nについて判定するなら、nを2~n-1までの数で割って、余りが0でないものが素数である』。以下が実際書いたコード。
def is_prime(n):
# 1以下の数は素数でない
if n <= 1:
return False
# nを2からn-1までの数で割った時に割り切れたら素数でない
for i in range(2, n):
if n % i == 0:
return False
return True
def main():
for j in range(1, 21):
if is_prime(j) == True:
print(j)
pass
if __name__ == '__main__':
main()
◼︎しかしこのプログラムでは、ひとつひとつ調べていくため、数字が大きくなるにつれて、とても大変な作業量になってしまう。素数についての理解、それをプログラムとして書くことはクリアしたが、効率の良いプログラムの書き方を今後学んでいきたいと思う。
⬛︎回文判定について。
◼︎回文判定について以下のことを学んだ。
・回文とは、上から読んでも下から読んでも同じ言葉になるもの。しんぶんしみたいな言葉のこと。
・回文判定するためには、文字列を逆順にする必要がある。その際に使うのが以下のコード。
[::-1]
s == s[::-1]
であれば、回文であると言える。
⬛︎pass, continue,breakについて。
◼︎pass, continue,breakについて以下のことを学んだ。
・passは構文上、書く必要があるため書かれるが、実行しても何も起こらないコード。pass以降のコードが実行されていく。実行結果だけでいうと、passの文字があってもなくても結果は何も変わらない。
・continueは、continue以降に書かれたコードは実行せず、先頭へ行って繰り返し作業は続行される。
・breakは、break以降に書かれたコードは実行しないし、先頭へ行って繰り返し作業ももうしない。breakがきたら、そのコードはその時点で完全終了する。*無限ループを止める時などに使われる。
コメント