Why it doesn't work?

作業のメモ、記録をブログに残しています。

Python 素数の判定を行う

素数を判定する関数を作成する機会があったので晒してみます。
素数 - Wikipedia

def is_prime(x):
  if(x <= 1):
    return False
  for n in range(2, x-1):
    if x%n == 0:
      return False
  return True
  • 1以下の数値が指定された場合には、強制的にFalse(素数ではない)を返しています
  • 2からx-1まで除算実行し、一度でも割り切れれば(余り0)Falseを返します。
  • 最後まで割り切れなければ、Trueを返します。

一応これで動いているようですが、もっとスマートなやり方はあるのでしょうか?