素数又称素数,是指大于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为例实现反向波兰表达式11/23
- ♥ Python中deque的操作安排11/22
- ♥ 如何打断点看python中的步骤09/07
- ♥ python判断字符串是否包含中文08/21
- ♥ 如何将python打包成exe文件11/09
- ♥ python如何转换为私有属性10/15
内容反馈