【发布时间】:2017-06-26 02:24:30
【问题描述】:
我创建了这个函数来返回 与 x 最接近的素数(等于或大于):
def primo(x):
i=2
prime=True
if x>=0:
while i<=x**(1/2) and prime==True:
if x%i==0:
prime=False
else:
i+=1
if (prime==True or x==2 or x==3) and x>1:
return x
else:
primo(x+1)
else:
primo(x+1)
但它只在x 已经是素数时返回。
我尝试将print(x) 与返回值放在同一行,但如果x 不是质数(例如12),它只会打印末尾的数字,它不会返回值.
我希望代码在每种情况下都返回素数,尤其是如果 x 不是素数(它会绕过代码直到 x 是素数)。
谢谢。
【问题讨论】:
-
我很确定 python 有内置的方法可以做到这一点?