前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 计算质数提升

Python 计算质数提升

作者头像
zucchiniy
发布2019-10-30 18:58:19
9000
发布2019-10-30 18:58:19
举报
文章被收录于专栏:洞明学问洞明学问

今天在做 Python 学习的时候,发现自己对于代码的递归和循环的控制,还有实现编程的思考太过简单了,一道简单的编程题,浪费掉了我很多的时间才完成,真的是太不应该了,这倒题是说给定一个数,可以是整数,也可以是浮点数,然后计算这个数之后的5个质数,并输出出来。

现在整理一下思路,求解质数不说了,可以直接使用上次的方案:

代码语言:javascript
复制
def prime(n):
    if n == 1:
        return False
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True

然后就是进入到计算连续的五个数中,首先考虑的是,我需要输出过程中使用五次循环,但是我本身找质数的过程中也应该使用一个计数器循环,所以在最后,应该按下面的方式进行:

代码语言:javascript
复制
start = int(n) + 1
i = 0
while i < 5:
    if prime(start):
        primes.append(str(start))
        i += 1
        start += 1
    else:
        start += 1
print(','.join(primes))

所以在最后得到的完整的代码段应该是下面这样的:

代码语言:javascript
复制
import math
def prime(n):
    if n == 1:
        return False
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True
n = eval(input())
primes = []
start = int(n) + 1
i = 0
while i < 5:
    if prime(start):
        primes.append(str(start))
        i += 1
    start += 1
print(','.join(primes))

这次给自己提了个醒,虽然 Python 这门语言特别简单,但是编程这件事儿却手是完全不一样的两个东西。

希望自己能成为一个高手,而不是一个没用的老手。

  • changeSet: id: 1 author: your_name changs: encoding: utf8 path: classpath: path/file.sql

#+END_SRC

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档