burner 2020-05-21 14:08 采纳率: 77.8%
浏览 375
已采纳

Python, 请问得出素数2的逻辑是什么?

for n in range(2, 10):
for x in range(2, n):
if n % x ==0:
break
else:
print(n, '是素数。')

            答案是2,3,5,7。其他好理解,请问得出素数2的逻辑是什么?
            n为2时,for x in range(2,2)没道理啊。
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-21 14:28
    关注
    n=2
    for n in range(2, 10):
        for x in range(2, n):
            print(str(n) + " " + str(x))
            if n % x ==0:
                break
        else:
            print(n, '是素数。')
    

    (2, '\xe6\x98\xaf\xe7\xb4\xa0\xe6\x95\xb0\xe3\x80\x82')
    3 2
    (3, '\xe6\x98\xaf\xe7\xb4\xa0\xe6\x95\xb0\xe3\x80\x82')
    4 2
    5 2
    5 3
    5 4
    (5, '\xe6\x98\xaf\xe7\xb4\xa0\xe6\x95\xb0\xe3\x80\x82')
    6 2
    7 2
    7 3
    7 4
    7 5
    7 6
    (7, '\xe6\x98\xaf\xe7\xb4\xa0\xe6\x95\xb0\xe3\x80\x82')
    8 2
    9 2
    9 3

    2的时候,不会进入循环,所以走else

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机