波大大12138 发表于 2020-6-4 18:11:49

看一看,这个问题

>>> def fun(x):
                def fun2(y):
                        y=1
                        return x*y
                return fun2()

>>> fun(3)

如以上代码我想通过上述程序实现3*1为什么会报错啊?我通过fun(3)的函数调用就实现了外层的函数并给x赋予了3,接着就会自动进行内函数的运行了啊?错在哪里啊

qiuyouzhi 发表于 2020-6-4 18:16:48

你的fun2需要一个参数,但你在return fun2()的时候却没有给参数,想要实现3*1应该这样写:
return fun2(1)
页: [1]
查看完整版本: 看一看,这个问题