from math import sqrt n_p=0 for i in range(a,b+1): #不是b is_p=True for i0 in range(2,int(sqrt(i))+1): #缩小质数的可能范围,提高效率 if i%i0==0: is_p=False break if is_p: n_p+=1
或利用for的else语句也可以,更简洁,不过这种语法只针对python。
from math import sqrt n_p=0 for i in range(a,b+1): #不是b for i0 in range(2,int(sqrt(i))+1): #缩小质数的可能范围,提高效率 if i%i0==0: break else: n_p+=1