鱼C论坛

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

[已解决]关于for循环的疑问

[复制链接]
发表于 2020-10-29 17:21:59 | 显示全部楼层 |阅读模式

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

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

x
我是跟着小甲鱼视频自学的 但学到去 求阶乘的那一课程 代码如下
def factorial(n):  #定义一个函数 n是传入的参数也叫形参
    result = n     #变量默认等于n
    for i in range(1,n): # for语句循环 分别是1到N
                          #这里1到n  不包含n例如 1~5 只到4
        
        result *= i   #这里变量是等于n的 就是n*1 循环到n*n-1
        

    return result



老师说是求阶乘的 但是我尝试输入5    result *= i  (这个是不是result=i*result)这里开始就是 result =1*5 然后赋值给result 再循环 2*5  再循环3*10   是这样吗但是老师说的是求阶乘是1*2*3*4
我是自学遇到问题只能发帖求助求老师大神门解答 因为这没有弄清楚没办法往下自学
最佳答案
2020-10-29 17:32:14
本帖最后由 jackz007 于 2020-10-29 17:35 编辑
def factorial(n):
    result = n
    for i in range(1 , n) :
        result *= i
    return result
        让我们来考察一下这个函数的循环过程
    当 n = 5 的时候,result 的初始值为 5,for i in range(1 , n) 将循环 4 次:
    第一次:i = 1  , result = 5  -> result = result * i = 5 × 1
    第二次:i = 2 ,result = 5 × 1  -> result = reslt * i = 5 × 1 × 2
    第三次:i = 3 ,result = 5 × 1 × 2  -> result = reslt * i = 5 × 1 × 2 × 3
    第四次:i = 4 ,result = 5 × 1 × 2 × 3 -> result = reslt * i = 5 × 1 × 2 × 3 × 4

    所以,当循环完成的时候,result = 5 × 1 × 2 × 3 × 4,这不就是 5 的阶乘吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-29 17:29:59 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-29 17:32:14 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-10-29 17:35 编辑
def factorial(n):
    result = n
    for i in range(1 , n) :
        result *= i
    return result
        让我们来考察一下这个函数的循环过程
    当 n = 5 的时候,result 的初始值为 5,for i in range(1 , n) 将循环 4 次:
    第一次:i = 1  , result = 5  -> result = result * i = 5 × 1
    第二次:i = 2 ,result = 5 × 1  -> result = reslt * i = 5 × 1 × 2
    第三次:i = 3 ,result = 5 × 1 × 2  -> result = reslt * i = 5 × 1 × 2 × 3
    第四次:i = 4 ,result = 5 × 1 × 2 × 3 -> result = reslt * i = 5 × 1 × 2 × 3 × 4

    所以,当循环完成的时候,result = 5 × 1 × 2 × 3 × 4,这不就是 5 的阶乘吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 04:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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