鱼C论坛

 找回密码
 立即注册
查看: 578|回复: 3

[已解决]python求10以内素数问题

[复制链接]
发表于 2024-3-28 21:15:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
for n in range(2,10):
    for x in range(2,n):
        if n % x == 0:
            print(n,"=",x,"*",n // x)
            break
    else:
        print(n,"是一个素数")

请问else行的缩进为什么和第二个for是一个层级的呢?
最佳答案
2024-3-28 21:38:43
本帖最后由 jackz007 于 2024-3-28 21:42 编辑

        是的,Python 的 for 是带 else 的,如果在 for 循环中没有执行过 break 语句,那么,在循环结束的时候就会进入 else 执行。
        对比一下【代码1】和【代码2】的屏显效果也许可以明白 for ... else 的作用。
【代码1】:
for i in range(5):
    print(i)
else :
    print('结束')
【代码2】:
for i in range(5):
    if i < 4:
        print(i)
    else :
        break
else :
    print('结束')
    本例的判定素数代码也是一样的,如果 for 循环没有被 break 语句打断过,那么,就可以断定 n 是一个素数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-28 21:15:31 | 显示全部楼层
在Python中,`else`语句可以与`for`循环配对使用。当`for`循环正常执行完毕(即没有被`break`语句打断)时,就会执行`else`语句块。

在你给出的代码示例中,`else`语句块是与第二个`for`循环配对使用的。它的缩进是与第二个`for`循环保持一致,表示它是这个`for`循环的一部分。

所以,当第二个`for`循环执行完并且没有被`break`打断时,就会执行`else`语句块。

希望能对你的问题有所帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-28 21:38:43 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2024-3-28 21:42 编辑

        是的,Python 的 for 是带 else 的,如果在 for 循环中没有执行过 break 语句,那么,在循环结束的时候就会进入 else 执行。
        对比一下【代码1】和【代码2】的屏显效果也许可以明白 for ... else 的作用。
【代码1】:
for i in range(5):
    print(i)
else :
    print('结束')
【代码2】:
for i in range(5):
    if i < 4:
        print(i)
    else :
        break
else :
    print('结束')
    本例的判定素数代码也是一样的,如果 for 循环没有被 break 语句打断过,那么,就可以断定 n 是一个素数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-29 17:14:12 | 显示全部楼层
jackz007 发表于 2024-3-28 21:38
是的,Python 的 for 是带 else 的,如果在 for 循环中没有执行过 break 语句,那么,在循环结束的 ...

明白了,很清楚!谢谢大佬!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 18:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表