质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数)。
那么想计算出一个随机数是不是质数用Python应该怎么写呢?首先第一句话肯定是接受用户输入的数字:
n = int(input("please enter the number:"))
接着要计算该数是不是质数,那么就要从2开始一直除到该数之前的那个自然数,很明显是一个数字范围:
for i in range(2, n):
在循环体里面,每次循环当然就是要判断当次除法是否是整除,这里可以使用求模运算,也就是取余,当余数为0时,该数就不是质数:
if n % i == 0: print("%d is not a prime number!" % n) break
这个break意思就是当该数不是质数时,就跳出整个循环,该数就不是我们要的数字了。
那么,所有循环迭代都完成后还没有找出能整除的情况的话,那么可以判断该数就是一个质数,所以:
else: print("%d is a prime number!" % n)
那么此时,所有代码就写好了,不过为了看起来简单,没有罩一层是否大于1的判断,用户输入的数字默认需要大于1:
n = int(input("please enter the number:")) for i in range(2, n): if n % i == 0: print(" %d is not a prime number!" % n) break else: print(" %d is a prime number!" % n)
内容扩展:
素数判断的实例:
for i in range(2,100): for j in range(2,i): if i%j==0: break else: print(i,end='\t')