使用列表推导式生成100以内的所有素数
[p for p in range(2, 100) if 0 not in [p%d for d in range(2, int(p**0.5)+1)]]
[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59.61,67,71,73,79,83.89.97]
怎么理解?
使用列表推导式生成100以内的所有素数
[p for p in range(2, 100) if 0 not in [p%d for d in range(2, int(p**0.5)+1)]]
[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59.61,67,71,73,79,83.89.97]
怎么理解?
把它写成两层for循环就知道了
s = []
for p in range(2, 100):
res = []
for d in range(2, int(p**0.5) +1):
res.append(p%d)
if 0 not in res:
s.append(p)
print(s)