Python:每日一题 77(答题领鱼币)
今日题目:编写一个函数bprime。判断一个数字是否是质数,如果是质数,则返回'(那个质数数字放在这里) is prime',如果不是就返回一个列表,列表总的内容是这个数的所有因数。
例子:bprime(10)
>>>
bprime(30)
>>>
bprime(13)
>>>13 is prime
楼主自己的高难度写法(萌新较渣):
**** Hidden Message *****
大神的两行代码求解:
**** Hidden Message ***** def bprime(num):
factor_list = []
for x in range(2, int(num / 2) + 1):
if num % x == 0:
factor_list.append(x)
return factor_list if factor_list else '%d is prime' %num def bprime(num):
return '%d is prime' % num if all(tuple(num%i for i in range(2,int(num/2)+1))) else
一行{:10_264:} 九九八十一 发表于 2017-8-12 13:38
一行
智障了{:10_266:} 膜拜一下大神 本帖最后由 chunchun2017 于 2017-8-12 14:27 编辑
def bprime(n):
list0=[]
for i in range(2,n):
if(n%i==0):
list0.append(i)
if(len(list0)==0):
print(n,"is prime")
else:
print(list0)
number = int(input("请输入要判断的数:"))
bprime(number)
运行结果:
===============================
请输入要判断的数:6
>>>
============== ==============
请输入要判断的数:7
7 is prime
>>> def bprime(i):
mylist=[];
flage=True
j=2
while(True):
if j==i:
break
if i%j==0:
mylist.extend()
flage=False
j=j+1
if flage:
return (str(i)+' is prime')
else:
return mylist
写了一个,再看大神的果然是高!
def bprime(n):
lst =
return lst if lst else str(n) + ' is prime'
冬雪雪冬 发表于 2017-8-12 15:24
写了一个,再看大神的果然是高!
{:10_275:}你也很厉害 def bprime(n):
i=2
flag=True
lis=[]
while i<n:
if n%i==0:
lis.append(i)
flag=False
i=i+1
return lis if flag==False else ('%d is prime'%n) l=[]
def bprime(n):
for i in range(2,n):
if(n%i==0):
l.append(i)
if(len(l)==0):
print("{}is prime".format(n))
else:
print(l)
num=int(input("输入一个整数:"))
bprime(num)
def bprime(n):
list1 =[]
for i in range(2,n//2+1):
if n%i == 0:
list1.append(i)
return list1 if len(list1) else '%d is prime' % n 本帖最后由 lalalaoh 于 2017-8-12 17:09 编辑
import math as m
def bprime(num):
List=[]
if num == 2 or num == 3:
return("%d is prime" % num)
else:
Num=num
for each in range(2,int(m.sqrt(num)+1)):
while Num%each==0:
List.append(each)
Num = Num/each
if Num ==1:
break
if not List:
return("%d is prime" % num)
else:
if Num !=1:
List.append(int(Num))
return(List) #判断一个数是否是素数
def bprime(x):
c=[];
for i in range(2,x//2):
if x%i==0:
c.append(i)
if c.__len__()==0:
print("%s is prime"%x)
else:
print(c)
bprime(190) 看看大神 def dprime(x):
list1=[]
for a in range(2,x):
for b in range(2,x):
if x==a*b:
list1.extend()
if list1 == []:
return 1
else:
list2 = list(set(list1))
list3 = list2.sort()
return list3
print(dprime(16))
运行出来是none不知道有没有大佬愿意帮忙解答以一下 def dprime(x):
list1=[]
for a in range(2,x):
for b in range(2,x):
if x == a*b:
list1.extend()
if list1 == []:
return str(x)+' is prime'
else:
list2=list(set(list1))
list2.sort()
return list2
print(dprime(1))
看看 def test(n):
result = []
i = 2
while n != 1:
if not(n%i):
result.append(i)
n /= i
continue
i += 1
return result if len(result) > 1 else '%d is a prime' % i
太厉害了
页:
[1]
2