用自己的语言解释一下25课的几行代码,大家看下对不对
大家好, 在学第25课,刚好有点想法,分享出来看一下大家的看法。
代码如下:
oho=
for i in range(len(oho)):
oho=oho*2
oho
oho=
oho=
oho
我自己的解释如下:
赋值oho等于
把oho里面的数值单独列出来
列表oho等于单独列出的数值乘以2后组成的列表
执行oho
得到结果
赋值oho等于
oho列表里面的每一个数值乘以2
执行oho
得到结果
有一点问题
oho=
for i in range(len(oho)):
oho=oho*2
就是对 oho * 2,乘 5 次。等价于 oho = oho * (2 ** len(oho))
赋值 oho 等于
重复执行[ oho 最开始的长度]次:
列表 oho 等于最新的列表乘以 2 后组成的列表
下面是运行的结果:
>>> oho
是对的 2# 是对的。第三行应该改为:oho = oho * 2 smallwh 发表于 2024-7-25 16:59
有一点问题
就是对 oho * 2,乘 5 次。等价于 oho = oho * (2 ** len(oho))
你的解释看起来比我的要详细一些,但是我看不大懂。我本来还想拆解一下“for i in range(len(oho)):”, 然后归纳总结一下。但是发现以自己目前的水平,无法组织有效可读的文字,所以就直接归纳总结了。 Leone_YJ 发表于 2024-7-25 16:59
是对的
谢谢 tommyyu 发表于 2024-7-25 17:02
2# 是对的。第三行应该改为:oho = oho * 2
谢谢您的回复 William01 发表于 2024-7-25 17:07
你的解释看起来比我的要详细一些,但是我看不大懂。我本来还想拆解一下“for i in range(len(oho)):”,...
看来我的表述有些难理解
oho=
for i in range(len(oho)):
oho=oho*2
这段代码如果把 for 循环改成重复的语句,是这样的:
oho=
oho=oho*2
oho=oho*2
oho=oho*2
oho=oho*2
oho=oho*2
它只能延长列表,使列表不断重复,不能把列表 oho 变成
oho=
for i in range(len(oho)):
oho = oho * 2
这样就可以把列表 oho 变成 了 确实,oho是一个列表而不是它里面的元素,oho=oho*2只是对整个列表进行操作,而没有对单独的元素进行变换。
如果要修改单独的元素,要用下标指名列表的哪一个元素,即oho,然后再操作,oho = oho*2 smallwh 发表于 2024-7-25 17:18
看来我的表述有些难理解
这段代码如果把 for 循环改成重复的语句,是这样的:
我还是不大懂。不过我觉得这是我个人的问题,毕竟刚开始学没多久,需要多看多思考,慢慢应该就会明白了。谢谢您的认真回复。
页:
[1]