Python入门学习小记:100以内素数/质数之和

Python入门学习小记:100以内素数/质数之和今天做到一题利用 for 循环求 100 以内素数之和的题目 发现自己在 Python 的语法上遇到了问题 这个 else 是谁的 在此记录以防下次又做错啦 题目很简单 100 以内素数之和求 100 以内所有素数之和并输出

今天做到一题利用for循环求100以内素数之和的题目,发现自己在Python的语法上遇到了问题:这个else是谁的?在此记录以防下次又做错啦。

素数指从大于1,且仅能被1和自己整除的整数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬ 可以逐一判断100以内每个数是否为素数,然后求和。 

一开始我的程序是这样的:

 sum = 0 for i in range(2,100):#寻找的范围为2-99 for j in range(2,i): if (i%j == 0): break else: sum += i print(sum) 
sum = 0 for i in range(2,100):#寻找的范围为2-99 for j in range(2,i): if (i%j == 0): break else: print(i) #sum += i #print(sum) 

果然输出的素数是有问题的。查看结果发现找到的素数出现了多次输出甚至输出非素数的情况,加起来当然比正确答案大的多啦。

可是为什么会出现这样的错误呢?

所以,在上面这个程序中,双层for嵌套后利用了一个if-else二分支。如果满足条件:i对j取余数为零(i

这里的“else”是for的,还是if的?显然,应该是for的。只有遍历全部j后依然除不尽的才能够认为i为素数并输出。写程序时太粗心写错了else的位置;对于Python语法的不熟练没能透彻的结合题目的意思。意识到问题所在,修改程序

sum = 0 for i in range(2,100): for j in range(2,i): if (i%j == 0): break else: sum += i print(sum) 

输出sum=1060,是正确答案!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218540.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午7:00
下一篇 2026年3月18日 上午7:01


相关推荐

  • redis 事务

    redis 事务事务 MULTI EXEC DISCARD 和 WATCH 是 Redis 事务相关的命令 事务可以一次执行多个命令 并且带有以下两个重要的保证 事务是一个单独的隔离操作 事务中的所有命令都会序列化 按顺序地执行 事务在执行的过程中 不会被其他客户端发送来的命令请求所打断 事务是一个原子操作 事务中的命令要么全部被执行 要么全部都不执行 EXEC 命令

    2026年3月19日
    2
  • visdom简易教程

    visdom简易教程如果想用pytorch来做神经网络学习和训练,那么不管想不想,你都得学visdom这个可视化工具,因为别人全部用这个玩意在进行可视化显示,如果不会用有时甚至别人的代码都跑不起来。这里这么说似乎显得有点怨念,这是真的,因为本人一开始并不想要去搞它。但后来学着学着发现这真是个神器,难怪那么多人一上来直接要求先装上这个。要用这个先要安装,对于python模块而言,安装都是蛮简单的:pipinsta…

    2022年6月26日
    24
  • java数组截取[通俗易懂]

    java数组截取[通俗易懂]JAVA数组截取publicclassDay12_2{publicstaticvoidmain(String[]args){int[]A=newint[]{1,3,5,7,9};intstart=1;intend=3;arraySub(A,start,end);}public…

    2022年6月11日
    33
  • 使用java代码打印三角形、平行四边形、菱形

    使用java代码打印三角形、平行四边形、菱形

    2021年5月24日
    165
  • php上传文件与图片到七牛的实例详解

    php上传文件与图片到七牛的实例详解

    2021年10月27日
    43
  • FFmpeg从入门到精通笔记之二

    FFmpeg从入门到精通笔记之二FFmpeg中常用的工具主要是ffmpeg、ffprobe、ffplay,它们分别用作多媒体的编解码工具、内容分析工具和播放器。ffmpeg常用命令ffmpeg的封装转换。ffmpeg的封装转换(转封装)功能包含在AVFormat模块中,通过libavformat库进行Mux和Demux操作.  *多媒体文件的格式有很多种,这些格式中的很多参数在Mux与Demux的操作参数中是公用的,…

    2022年6月26日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号