Python每日一题(1)
本帖最后由 wangka 于 2020-3-22 17:04 编辑题目:
如何输入一个数,返回是否为质数
例子:
输入一个质数,返回ture
输入的不是质数,返回false
{:5_91:} 加油 本帖最后由 永恒的蓝色梦想 于 2020-3-22 17:10 编辑
from math import sqrt,floor
def isPrime(n: int,/) -> bool:
if isinstance(n, int):
temp=n%6
if n<2 or not n&1 or temp!=1 and temp!=5:
return False
else:
for i in range(3,floor(sqrt(n)),2):
if not n%i:
return False
else:
return True
else:
raise TypeError("an integer is required") import math
def isprime(num):
for i in range(2,int(math.sqrt(num))):
if num % i == 0:
return False
else:
return True
i = int(input("Enter an integer:"))
print(isprime(i))
小马爱python 发表于 2020-3-22 12:05
你需要把 else:
return True去掉,否则得出来的结果是错的 from math import sqrt
def isPrime(num):
if num <= 1:
return False
elif num % 2 == 0:
return False
else:
for i in range(3, int(sqrt(num)), 2):
if num % i == 0:
return False
return True
if __name__ == '__main__':
number = eval(input('Enter a number:'))
print(isPrime(number))
import math as m
def isPrime(num):
if num <= 1:
return False
else:
for i in range(2, int(m.sqrt(num)) + 1):
if num % i == 0:
return False
else:
return True
n = int(input("请输入一个整数:"))
print(isPrime(n)) 第一次答这位题主的题,我来试一试
当然了 我贴出质数的定义 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,质数不包括负数和小数。
题目中只说了数,所以要剔除小数和负数
import math
def fun1(num):
if not isinstance(num, int) or num <= 1 :
return False
Q = math.floor(math.sqrt(num))
for i in range(2,Q+1):
if num % i == 0:
return False
else:
return True 永恒的蓝色梦想 发表于 2020-3-22 12:10
你需要把去掉,否则得出来的结果是错的
明白!{:10_284:}
页:
[1]