为什么判断质数一定要用到 is_prime = True ,这个函数有什么意义?

来源:2-11 数字序列经典案例

慕码人7525953

2020-06-26 21:38:19

#判断质数
l = 776351721
is_prime = True
for i in range(0,l):
   if l % i == 0:
       print(i)
       is_prime =False
       break
if is_prime == True:
   print('{0}是质数'.format(l))
else:
   print('{0}不是质数'.format(l))

写回答

2回答

好帮手慕笑蓉

2020-06-28

同学,你好。在同学提供的这段代码中,is_prime是用来做标记的,质数是除了1和它本身以外不再有其他因数的自然数,在for循环中,如果存在会被其他因数整除的自然数,则标记is_prime=False,然后if可通过判断is_prime的值是True还是False来判断值是否是质数

另外同学提供的代码,还有一点需要注意,for循环中的range()不能从0开始,因为0不可以被当作除数,由于任何数都能被1除,因此可更改为:

http://img.mukewang.com/climg/5ef7fc32093c64a703540135.jpg

如果解决了你的疑惑,请采纳,祝学习愉快~

0

華晧

2020-06-27

is_prime是一个布尔型变量,is_prime默认值为True也就是第二行代码(不算注释)当 l 可以被 i 整除时执行第一个if 下的代码块这时is_prime的值改为False(第六行代码),当程序执行到break时终止循环然后执行第二个 if 语句 因为is_prime==False 所以执行else下的代码块。

这个变量就是一个判断条件,判断程序执行 if 还是 else 的条件

0

0 学习 · 8160 问题

查看课程