素数又称素数,是指大于1且除1和数本身外不能被其他自然数整除的数(也可以定义为只有1和数两个因数的数)本身)。
简单来说,一个只能被 1 和自身整除的数(需要大于 1)就是质数。例如数字 5,从 2 到 4,不能被它整除,只有 1 和它本身(5)才能被 5 整除,所以 5 是一个典型的素数。
那么在 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)
这里我们需要仔细品味这段代码。 Else 实际上并不是与 if 成对,而是与 for 并列。我们经常使用 if...else...or if...elif...else 等,但其实 for 也可以与 else 一起出现。 ,在这段代码中,当一个遍历结果的余数为0时,break生效,循环结束,成对出现的else代码不会被执行;当所有遍历结束时,没有余数为 0,然后循环转到 else 开始执行,并打印出“这个数是质数”。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python 的 zip() 函数是什么09/25
- ♥ 如何在python中复制不同大小的文件01/05
- ♥ python列表读取方法09/18
- ♥ 如何在pycharm中切换python2.7版本08/31
- ♥ 如何在python3中编写类?12/17
- ♥ 解析对 python 生成器函数的调用12/10
内容反馈