问质数

编程入门 行业动态 更新时间:2024-10-24 10:21:35
本文介绍了问质数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试着看看数字 2 ~ 12 中的素数是什么,我写了一些代码.但是在3"之后,即使存在11",它也只会打印非质数".有什么问题?

I tried to see what is Prime number in number 2 ~ 12 , and I wrote some codes. But after '3', it only prints 'Not Prime number' even if '11' is there. What is the problem?

a=True for n in range(2,13): for i in range(2,n): if n % i ==0: a=False if a == False: print(n, ": Not prime.") else: print(n,": Prime")

推荐答案

您需要将每个 now 值的 a 重置为 True.另外 a == False 只是 not a (如 if a==True 是 if a)

You need to reset a to True for each now value. Also a == False is just not a (as if a==True is if a)

for n in range(2,13): a = True for i in range(2,n): if n % i ==0: a = False if not a: print(n, ": Not prime.") else: print(n,": Prime")

关于循环的一些建议

Some advices about the loop

  • 在数字的平方根处停止
  • 使用 break 在知道错误后停止循环
  • 使用for/else,如果没有发现中断,则进入else
  • stop at the square root of the number
  • use a break to stop looping after knowing it's false
  • use the for/else, if no break has been found it goes into the else
for n in range(2,13): for i in range(2,int(n**0.5)+1): if n % i ==0: print(n, ": Not prime.") break else: print(n,": Prime") 2 : Prime 3 : Prime 4 : Not prime. 5 : Prime 6 : Not prime. 7 : Prime 8 : Not prime. 9 : Not prime. 10 : Not prime. 11 : Prime 12 : Not prime.

更多推荐

问质数

本文发布于:2023-11-29 22:54:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1647867.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:质数

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!