鱼C论坛

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

[已解决]关于def()求解答

[复制链接]
发表于 2018-1-8 22:26:00 | 显示全部楼层 |阅读模式

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

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

x
def power(x, y):
    result = 1
    for i in range(y):
        
        result *= x
    return result
print(power(2, 3))
    
1.这段代码中,第二行的result = 1的作用是什么?
2.第三行的i是干嘛的?为什么之后的代码里没有i?
3.解释下for i in range(y):
              result *= x
谢谢!
最佳答案
2018-1-8 22:36:10
本帖最后由 Kamikid 于 2018-1-8 22:38 编辑

你好,

1. 第二行result = 1是给result赋初始值,因为当y为0时,x的0次方为1,其次进入循环后,因为1乘以任何数不变,所以使用1为初始值。
2. 第三行是一个循环,i是一个本地变量,指代迭代到range(y)的值。参见以下代码:
>>> for i in range(-2): #负数不会迭代
        print(i)

>>> for i in range(10): #正数会迭代相应次数
        print(i)

0
1
2
3
4
5
6
7
8
9
>>> for i in range(0): #0值不会迭代
        print(i)

>>>

3. 请先参加以上代码
for i in range(y):
        result *= x

当y = 10时,会迭代10次,或者说循环体会循环10次。
result是本地变量,在循环前已经声明。
result *= x是 result = result*x的缩写。
x为该函数传入的变量参数之一。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-8 22:34:45 | 显示全部楼层
1.这是为累乘做一个初始值,例如3个5累乘就是1*5*5*5,如果是累加则初始值定义为0
2.为了确定累乘的次数,这里是y次
3.做y次累乘,第一次1*x,第二次1*x*x,.....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-8 22:36:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Kamikid 于 2018-1-8 22:38 编辑

你好,

1. 第二行result = 1是给result赋初始值,因为当y为0时,x的0次方为1,其次进入循环后,因为1乘以任何数不变,所以使用1为初始值。
2. 第三行是一个循环,i是一个本地变量,指代迭代到range(y)的值。参见以下代码:
>>> for i in range(-2): #负数不会迭代
        print(i)

>>> for i in range(10): #正数会迭代相应次数
        print(i)

0
1
2
3
4
5
6
7
8
9
>>> for i in range(0): #0值不会迭代
        print(i)

>>>

3. 请先参加以上代码
for i in range(y):
        result *= x

当y = 10时,会迭代10次,或者说循环体会循环10次。
result是本地变量,在循环前已经声明。
result *= x是 result = result*x的缩写。
x为该函数传入的变量参数之一。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-9 09:18:35 | 显示全部楼层
1.这段代码中,第二行的result = 1的作用是什么?
作为最终的乘法结果,任何数和1相乘等于它本身,所以 1×x×x = x的平方

2.第三行的i是干嘛的?为什么之后的代码里没有i?
i只是一个计数的,用来表示循环的次数而已,你可以把它换作其他任意变量,比如each,a,c,只要别冲突就行

3.解释下for i in range(y):
              result *= x

y是一个整数,表示x的多少次方,for语句就是指的循环y次
循环体内的操作就是不断将结果乘以 x
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 03:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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