鱼C论坛

 找回密码
 立即注册
查看: 3129|回复: 2

[已解决]求大佬解惑 缩进和地板除问题

[复制链接]
发表于 2022-5-19 11:03:32 | 显示全部楼层 |阅读模式

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

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

x
萌新刚学习 有两个问题 求大佬解惑
1.为什么求素数这里需要地板除呢?我改成了除,为啥多了.00
2.还有那个if 和else不是两种情况吗 为什么缩进不一样呀


标准
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,"是一个素数")

        
2 是一个素数
3 是一个素数
4 = 2 * 2
5 是一个素数
6 = 2 * 3
7 是一个素数
8 = 2 * 4
9 = 3 * 3


第一种
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,"是一个素数")

            
3 是一个素数
4 = 2 * 2.0
5 是一个素数
5 是一个素数
5 是一个素数
6 = 2 * 3.0
7 是一个素数
7 是一个素数
7 是一个素数
7 是一个素数
7 是一个素数
8 = 2 * 4.0
9 是一个素数
9 = 3 * 3.0

第二种
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,"是一个素数")

        
2 是一个素数
3 是一个素数
4 = 2 * 2.0
5 是一个素数
6 = 2 * 3.0
7 是一个素数
8 = 2 * 4.0
9 = 3 * 3.0
最佳答案
2022-5-19 11:08:48

1.为什么求素数这里需要地板除呢?我改成了除,为啥多了.00


因为单纯的 / 除法,返回的结果是个浮点型,而使用 // 地板除,返回的就是整型

因为这里 if 条件已经判断肯定是整除了,所以直接用地板除可以把小数 .00 部分去除,更美观些

2.还有那个if 和else不是两种情况吗 为什么缩进不一样呀


这里使用的是 for-else 搭配,只要 for 循环正常结束(即不遇到 break)就会指向 else 部分代码

while 也可以搭配 else 使用,效果和 for 循环相同,都是不遇到 break 就会在循环结束后指向 else 处的代码块

try 也可以搭配 else 使用,在 try 没有捕获到错误时执行 else 代码块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-19 11:08:48 | 显示全部楼层    本楼为最佳答案   

1.为什么求素数这里需要地板除呢?我改成了除,为啥多了.00


因为单纯的 / 除法,返回的结果是个浮点型,而使用 // 地板除,返回的就是整型

因为这里 if 条件已经判断肯定是整除了,所以直接用地板除可以把小数 .00 部分去除,更美观些

2.还有那个if 和else不是两种情况吗 为什么缩进不一样呀


这里使用的是 for-else 搭配,只要 for 循环正常结束(即不遇到 break)就会指向 else 部分代码

while 也可以搭配 else 使用,效果和 for 循环相同,都是不遇到 break 就会在循环结束后指向 else 处的代码块

try 也可以搭配 else 使用,在 try 没有捕获到错误时执行 else 代码块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-5-19 11:39:36 From FishC Mobile | 显示全部楼层
多谢大佬解惑
那个为什么是for和else对齐而不是if和else对齐呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 11:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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