def is_prime(x):
x = abs(x)
if x == 0 or x == 1:
return False
elif x == 2:
return True
for i in range(2, x):
if x%i == 0:
return False
return True
テスターは、上記のコードはx = -7のときtrueを返してはならないと述べています。 助けてください。 ありがとうございました:)負数に対して素数検査機能が動作しない
を**編集:**
イムそれがないだけで、任意の数が2未満(すなわち0、1、すべての負の数が素数でないことをどこか
あなたのforループが範囲2からxまでであるため、-7では何も実行しません。素数の論理を改善してください。 –
どういう意味ですか? 'is_prime(-7)'は 'True'を返します。 – janos
Muhammadあなたはプログラムの2行目を忘れてしまった。コード読み取りを改善してください。 –