为了账号安全,请及时绑定邮箱和手机立即绑定

python


def count():
    fs = []
    for i in range(1, 4):
        def f():
             return i*i
        fs.append(f())
    return fs

f1, f2, f3 = count()
print f1, f2, f3

为何是对的?

正在回答

2 回答

因为答案在题目里给出的部分代码中count返回的还是3个f()函数

0 回复 有任何疑惑可以回复我~


1.创建函数count() ,返回一个list
2.调用count()的过程中有个for循环,for循环的内容是:创建函数f() ;调用函数f():tmp = f();并将结果tmp添加至列表fs:fs.append(tmp);
3.count() 返回列表fs,即返回[1,4,9]
4.赋值:f1 , f2 , f3 = count() ;即f1 , f2 , f3 = [1,4,9]

1 回复 有任何疑惑可以回复我~
#1

慕九州0026184 提问者

谢谢,但是为何这个和答案差的那么多,答案用了两次函数
2018-01-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号