鱼C论坛

 找回密码
 立即注册
查看: 1286|回复: 10

[已解决]最新版python教程P50讲递归 用迭代实现阶乘好像有几步多余

[复制链接]
发表于 2024-1-30 18:43:45 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 某一个“天” 于 2024-1-30 18:46 编辑
# 迭代实现阶乘
def iter(n):
    for i in range(1, n):
        n *= i
    print(n)

iter(10)
直接这样不好吗?
最佳答案
2024-1-30 18:44:09
你提供的迭代实现阶乘的代码有一处小错误,range()函数的结束值是不包含在范围内的,所以应该将for循环的范围改为range(1, n+1)。此外,如果要计算n的阶乘,你需要设置一个变量来保存结果,并在每次迭代时更新它。下面是修正后的代码:
def iterative_factorial(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    print(result)

iterative_factorial(10)

这样就可以得到正确的结果了。希望能帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
原来.png

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-30 18:44:09 | 显示全部楼层    本楼为最佳答案   
你提供的迭代实现阶乘的代码有一处小错误,range()函数的结束值是不包含在范围内的,所以应该将for循环的范围改为range(1, n+1)。此外,如果要计算n的阶乘,你需要设置一个变量来保存结果,并在每次迭代时更新它。下面是修正后的代码:
def iterative_factorial(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    print(result)

iterative_factorial(10)

这样就可以得到正确的结果了。希望能帮到你!

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

使用道具 举报

发表于 2024-1-30 19:05:47 | 显示全部楼层
这算啥多余。。。都一样啊,就少一个变量而已
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-30 19:14:58 | 显示全部楼层
陶远航 发表于 2024-1-30 19:05
这算啥多余。。。都一样啊,就少一个变量而已

我只是怕小甲鱼另有深意。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-30 19:36:07 | 显示全部楼层
某一个“天” 发表于 2024-1-30 19:14
我只是怕小甲鱼另有深意。。。

6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-30 19:59:29 | 显示全部楼层
本帖最后由 jackz007 于 2024-1-30 20:07 编辑

      函数属于工具,应该尽量避免输出任何信息,在本例中,函数 iter() 只需要返回计算结果,如有必要,输出信息应该由函数 iter() 的调用者来完成。就是说,iter() 不应该 print() 任何东西,必须 return 计算结果。

点评

我很赞同!: 5.0
我很赞同!: 5
  发表于 2024-1-31 11:09
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-30 20:22:40 | 显示全部楼层
jackz007 发表于 2024-1-30 19:59
函数属于工具,应该尽量避免输出任何信息,在本例中,函数 iter() 只需要返回计算结果,如有必要,输 ...

哦 我懂你的意思,我是想省点事。谢谢你啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 16:35:42 | 显示全部楼层
不多余
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-1 16:38:46 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 16:51:08 | 显示全部楼层

多一个少一个变量而已~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 19:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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