私はPythonには比較的新しく、素数をチェックする関数を構築しようとしています。なぜなら、それは良い開始プロジェクトだと思ったからです。しかし、私のコードは全てを素数として返します。私はこれを行うには非効率的な方法ですが、私は最初にそれをどうやって行うのかを理解したいと思います。ここに私のコードは、これまでのところです:素数をチェックするためのPython関数で私のロジックの欠陥は何ですか?
def Prime(n):
if n == 1 or n == 2 or n == 3:
print("This number is prime.")
else:
i = n - 1
while i > 0:
if n % i == 0:
break
print("This number is not prime.")
else:
i = i - 1
print("This number is prime.")
def Main():
n = int(input("What is the number you'd like to check?"))
Prime(n)
answer2 = input("Thank you for using the prime program.")
Main()
もう1つの変更は、 'i = n - 1'を' i = n ** 0.5 + 1'に変更することです。 – boardrider