本文介绍了问质数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试着看看数字 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
更多推荐
问质数
发布评论