求助解惑
求助:def interval(start, stop=None, step=1):
if stop is None: # 如果没有给参数stop指定值,
start, stop = 0, start # 就调整参数start和stop的值
result = []
i = start # 从start开始往上数
while i < stop: # 数到stop位置
result.append(i) # 将当前数的数附加到result末尾
i += step # 增加到当前数和step(> 0)之和
return result
第三行这么写的用途是什么呢?当我输入一个参数时,如interval(20),20这个值赋给的是stop,此时start为0。为什么不是第一个数赋值给第一参数呢?这一点不明白。
多谢您的解答,请尽量详细点,再次感谢。 如果这是range函数,我想你一定没有弄懂它的语法。
如果只有一个参数,start默认为0. 只给一个参数,就是赋值给start
此时stop=None
stop 的值变为 start
start 的值变为 0 晓辰 发表于 2020-4-24 11:52
只给一个参数,就是赋值给start
此时stop=None
stop 的值变为 start
第三行应该怎么解释呢?中间夹杂着逗号,是输出元组吗?这一点属实不懂 不懂就不问 发表于 2020-4-24 11:56
第三行应该怎么解释呢?中间夹杂着逗号,是输出元组吗?这一点属实不懂
就是0赋给start,start赋给stop
比如
a=0
b=1
a,b=b,a后
a=1
b=0
也可以理解成元祖的值变换,a,b就是一个元祖(a,b),详细可以查一下元祖的表达 晓辰 发表于 2020-4-24 12:02
就是0赋给start,start赋给stop
比如
a=0
!!!!!!你一说a,b=b,a这个我才反应过来。谢谢谢谢您。
页:
[1]