首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的质数列表中的3在哪里被追加?

我的质数列表中的3在哪里被追加?
EN

Stack Overflow用户
提问于 2020-01-14 06:16:30
回答 1查看 53关注 0票数 0

我可以理解如何在3之后添加其他质数,因为(x%y != 0),但对于for循环的第一次迭代,x%y似乎等于0。那么,它怎么会被添加到我的主要列表中呢?

代码语言:javascript
复制
def count_primes(num):
# edge case: 1 and 0 are not prime numbers
    if num < 2:
        return 0

# create prime list, check length to find amount of primes up to input num
# insert 2 bc it is only even prime number. Allows use of step in range to only iterate odds
    primes = [2]

# create variable that holds prime candidates starting after 2
    x = 3

# proceed into loop if prime candidate is less than or equal to input number
    while x <= num:
# cycle through odd numbers up to input number
        for y in range(3,x,2):
            if x%y == 0:
                x += 2
                break
        else:
            primes.append(x)
            x += 2
    return primes
EN

回答 1

Stack Overflow用户

发布于 2020-01-14 06:26:19

x为3时,range(3,x,2)是一个空范围-因此不会对该数字执行%测试。

-jasonharpercomment

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59724962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档