从入门到富豪 发表于 2020-5-5 11:58:42

函数返回的问题

为啥这个可以遍历打印出8个计算后的结果,

a =
def doubler(x):
    for i in range(len(x)):
      a = x * 2
      print(a)
doubler(a)

但是我原本是这么写的, 但是为什么这样只打印一个结果,有哪位大神指导一下问题,然后应该如何写呢?
a =
def doubler(x):
    for i in range(len(x)):
      a = x * 2
    return a
print(doubler(a))

qiuyouzhi 发表于 2020-5-5 12:01:59

你的那个a由于是循环赋值,还不是列表,所以每次都会覆盖前面赋的值,
最后只能返回最后一个。print是因为打印完后,程序还可以执行,
而return了程序就结束了。
你如果想改,可以用生成器(后面会学到)
页: [1]
查看完整版本: 函数返回的问题