素数判定

与えた数字が素数かどうか判定します.

まず, 数字の入力をします.以下のようにできます.

n = int(input('Input Number: '))

 

 

int型なので整数のみ対応します.

実際のプログラムです.

# -*- coding: utf-8 -*-
n = int(input('Input Number: '))#数字の入力
def prime(n):
for d in range(2, n-1):#2から入力した数字のひとつ前まで順番に選択
if n % d == 0:#もし, 入力した数字と先ほどの数字の中に割り切れる(あまりがない)ものがある場合
return 0 #こちらをかえす(正常に終了したことを示す)(OSによって設定が異なるのでreturn 0としとく)
return d

print('{0} is '.format(n) + ('a ' if prime(n) else"not " )+ 'Prime Nuber' )

 

実行結果は

4 is not Prime Number

5 is a Prime Number

10 is not Prime Number

 

となります.

最後のprint文を説明します.

formatは組み込み型といって, 文字列の書式操作を行います.

"{}"の中に文字列を置換することができます.

今回は{0}の中に入力した数値が置換されます.

次のif文は正常に終了したら割り切れた数値があると判断され, 'a'が返されます.

そうではない場合は'not'が返されるようになっています.

 

このプログラムはいくつかプログラムを参考にさせてもらったので, 一人ですらすら書けるようになりたいです.