Pythonで素数判定(練習)のやり直し
先日、練習がてらPythonで素数判定を行ってみた。
infoment.hatenablog.com
昨日、値を返す「return」を学習したので、一から作り直してみた。
先日作成したコードがこちら。
import math def prime_number(num): if num<=1: print(str(num)+":×") elif num==2: print(str(num)+":〇") else: max=math.ceil(num**0.5) flag=True for i in range(2,max+1): if num % i ==0: print(str(num)+":×") flag=False break if flag==True: print(str(num)+":〇") for i in range(1,11): prime_number(i)
これだと、関数(prime_number)の中で何度も「Print」が登場しているので、
この辺りを改善したい。
import math def prime_decision(num): if num<=1: return False elif num==2: return True else: max=math.ceil(num**0.5) for i in range(2,max+1): if num % i ==0: return False return True for num in range(1,101): if prime_decision(num)==True: print(str(num)+":〇") else: print(str(num)+":×")
結果は良好。更に、理解を深めていきたい。
参考まで。