python - python中的素数代码如何工作?
问题描述
def is_prime(num):
for i in range(2,num):
if (num % i) == 0:
return False
return True
def all_primes(num):
primes = []
for n in range(2,num+1):
if is_prime(n) is True:
primes.append(n)
return primes
num = int(input("Enter upper limit: "))
primes = all_primes(num)
print(primes)
它是怎么发生的...明白的是如果我输入 10 它将是 10%2= 5...余数是 0 所以它跳到下一个 9%2 = True 有余数。
它移动到下一个 9%3 余数是 0 所以它跳到 8% ...,然后是 7 .......但是我不明白的是 7 如果它检查到 7%7 ==0 那么如何它添加了 7 作为质数???
我很混乱。
感谢您的任何评论
解决方案
但我不明白的是 7 如果检查到 7%7 ==0
来自以下行的range
函数:
for i in range(2, num):
从2
到num - 1
。
因此,该range()
函数不包括结果中的最后一个(停止)数字。
推荐阅读
- c++ - 为什么ffmpeg解码的图片有边框?
- google-console-developer - 无论如何在发布之前上传应用程序以在谷歌播放控制台上重新查看?
- sql - 在 SQL 数据库中存储数组的最佳方式是什么?
- sql - 将字符串转换为 DateTime 并在 Where 子句中使用转换 - DateDiff
- django - 如何使用嵌套序列化来序列化和反序列化数据?django-rest-framework
- sql - 将具有重复列的多行分散到postgresql中的单个唯一行
- modelica - 如何在 dymola 2020X 中旋转或翻转组件
- php - 如何从 laravel 护照令牌中获取用户 ID?
- html - html body 滚动条位置
- laravel-5 - 如何使用 laravel/PHP 下载 office 365 邮件附件