python解释下这个代码 就是素数方面的谢谢 python小白请教素数问题:如下代码所示:
\u6c42\u7d20\u6570\u7684Python\u4ee3\u7801\uff0c\u6c42\u8bb2\u89e3\u8fd9\u6837\u5199\u4e0d\u77e5\u9053\u4f60\u80fd\u4e0d\u80fd\u7406\u89e3\uff1f
\u8fd9\u662f\u7b49\u6548\u4ee3\u7801\uff1a
L1 = []
for x in range(1, 100):
list = []
for y in range(2, x/2 + 1):
if x % y == 0:
list.append(y)
if not list:
L1.append(x)
print L1
\u5bf9\u4e8e\u7a7a\u5217\u8868\uff0cnot [] \u8fd4\u56deTrue
\u539f\u6765\u7684\u4ee3\u7801\u4e2d, if not\u540e\u9762\u662f\u4e00\u4e2a\u4e34\u65f6\u751f\u6210\u7684\u5217\u8868, \u5982\u679c\u8fd9\u4e2a\u5217\u8868\u4e3a\u7a7a\u5219\u8868\u660ex\u6ca1\u6709\u4efb\u4f55>=2\u7684\u56e0\u5b50\uff0cx\u5fc5\u662f\u7d20\u6570\uff0c\u4e8e\u662f\u6dfb\u52a0x \u5230\u4e3b\u5217\u8868.
[x for x in range(1, 100) if express ]
\u8fd9\u6837\u7684\u8bed\u53e5\u4ec5\u4ec5\u5728express\u662fTrue\u624d\u4f1a\u6dfb\u52a0x
def primes(n): a =list(range(2,n+1)) l=[] while a and a[0]<=a[len(a)-1]: #\u5faa\u73af\u4e4b\u524d\uff0c\u5148\u5224\u65ada \u662f\u5426\u4e3a\u7a7a\u4e86 l.append(a[0]) a =list(filter(lambda x:x%a[0]!=0,a)) print(a) #\u5728\u8fd9\u91cc\u52a0\u4e2a\u6253\u5370 \u4e00\u770b\u5c31\u77e5\u9053\u4e86 return lprint(primes(100))
def isPrime(n): #判断是否素数
for i in range(2,n):
if i*i <= n:
if n%i == 0:
return False
return True
def sumA(n): #计算一个数的各位数字之和
#return n-((n-1)/9*9)
sum=0
while(n>0):
sum+=n%10
n=int(n/10) #在python3.x后的里要加个int转换成整数,不然会出错.
return sum
def main():
i=1000001
a=[]
k=0
while True:
if len(a)==2: #列表长度超过2退循环
break
if isPrime(i): #是素数
if isPrime(sumA(i)): #且该数各数字之和仍是素数
a.append(str(i)) #放入列表中保存
i=i+1
print(a[0],a[1]) #输出列表第1,2项
if __name__ == '__main__':
main()
扩展阅读:python解释器手机版下载 ... ai生成python代码 ... ai智能自动写代码 ... python代码翻译器 ... python代码解释网站 ... 五星红旗python代码解释 ... python代码生成器 ... pycharm安装python解释器 ... python基础代码大全解释 ...