#Write your code below this line ??
def prime_checker(number):
for num in range (2, number):
if num % number == 0:
print("It is not a prime number")
else:
print("It is a prime number")
#Write your code above this line ??
#Do NOT change any of the code below??
n = int(input("Check this number: "))
prime_checker(number=n)
如何列印一個文本,該數字是素數還是不只有一次?
uj5u.com熱心網友回復:
使固定
number % num == 0 并不是 num % number == 0
當你發現一個不能整除它的數時,一個數就不是質數,但只有當你測驗了所有的數并且沒有一個數能整除它時
使用for/else建筑,它進入else,如果沒有break已使用
def prime_checker(number):
for num in range(2, number):
if number % num == 0:
print("It is not a prime number")
break
else:
print("It is a prime number")
請注意,這只會修復您的方法,但這不是檢查數字是否為質數的最佳方法,至少,以數字的平方根結束范圍,并直接驗證除以小數(如 2,3) ,5,7
uj5u.com熱心網友回復:
您的代碼中幾乎沒有錯誤。我已經修改了它們。
def prime_checker(number):
for num in range(2, number):
if number % num == 0:
print('Not prime')
return
print('Prime number')
# Write your code above this line ??
# Do NOT change any of the code below??
n = int(input("Check this number: "))
prime_checker(number=n)
For 回圈是檢查從 2 開始的任何數字是否是數字的因數。
uj5u.com熱心網友回復:
首先,一個稍微更有效的素數檢查
- 直到數字的 sqrt 為止
- 分兩步走
import math
def is_prime(n: int) -> bool:
if n in (2, 3, 5):
return True
if n < 2 or n % 2 == 0:
return False
for i in range(3, math.ceil(math.sqrt(n)), 2):
if n % i == 0:
return False
return True
現在您可以將該功能包裝在您的功能中
def prime_checker(n: int):
msg = "%d is prime" if is_prime(n) else "%d is not prime"
print(msg % n)
prime_checker(11)
# 11 is prime
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/398293.html
下一篇:python映射元組串列
