鱼C论坛

 找回密码
 立即注册
查看: 1770|回复: 4

[已解决]函数

[复制链接]
发表于 2023-4-28 12:22:37 | 显示全部楼层 |阅读模式
4鱼币

def a(a1):
    def b(b1):
        print(b1)
        def c(c1):
            ss=2
            print(ss)
        return c
    return  b


按照上述的代码 我要打印出c里面的数据 我应该如何修改呢
最佳答案
2023-4-28 12:22:38


要打印出c里面的数据,需要先调用函数b,然后在函数b返回的函数c中打印数据。可以按照以下方式进行修改:
def a(a1):
    def b(b1):
        print(b1)
        def c(c1):
            ss = 2
            print(ss)
            print(c1)
        return c
    return b

# 调用函数a和b,并传入相应的参数
f = a(1)(2)

# 调用返回的函数c,并传入参数
f(3)

在上面的代码中,`a(1)`调用函数a,返回函数b,`a(1)(2)`调用返回的函数b并传入参数2,返回函数c并赋值给变量f。然后,调用函数f并传入参数3,这将触发函数c的执行,并输出2和3。

最佳答案

查看完整内容

要打印出c里面的数据,需要先调用函数b,然后在函数b返回的函数c中打印数据。可以按照以下方式进行修改: 在上面的代码中,`a(1)`调用函数a,返回函数b,`a(1)(2)`调用返回的函数b并传入参数2,返回函数c并赋值给变量f。然后,调用函数f并传入参数3,这将触发函数c的执行,并输出2和3。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-28 12:22:38 | 显示全部楼层    本楼为最佳答案   


要打印出c里面的数据,需要先调用函数b,然后在函数b返回的函数c中打印数据。可以按照以下方式进行修改:
def a(a1):
    def b(b1):
        print(b1)
        def c(c1):
            ss = 2
            print(ss)
            print(c1)
        return c
    return b

# 调用函数a和b,并传入相应的参数
f = a(1)(2)

# 调用返回的函数c,并传入参数
f(3)

在上面的代码中,`a(1)`调用函数a,返回函数b,`a(1)(2)`调用返回的函数b并传入参数2,返回函数c并赋值给变量f。然后,调用函数f并传入参数3,这将触发函数c的执行,并输出2和3。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-28 12:45:23 | 显示全部楼层
本帖最后由 歌者文明清理员 于 2023-4-28 12:46 编辑
    def c(c1):
        ss = 2
        print(ss, c1, sep='\n')
b = a(1) #get b
c = b(2) #get c;    output: 2
c(3)  #output:2;3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-4-28 14:15:54 | 显示全部楼层
isdkz 发表于 2023-4-28 12:23
要打印出c里面的数据,需要先调用函数b,然后在函数b返回的函数c中打印数据。可以按照以下方式进行修改 ...

def a(a1):
    def b(b1):
        print(b1)
        def c(c1):
            ss = 2
            print(ss)
            print(c1)
        return c
    return b

# 调用函数a和b,并传入相应的参数
f = a(1)(2)

# 调用返回的函数c,并传入参数
f(3)

这个返回的结果为什么有 3 ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-28 14:18:28 | 显示全部楼层
tengke 发表于 2023-4-28 14:15
def a(a1):
    def b(b1):
        print(b1)

在上述代码中,调用返回的函数`f`时传入了参数`3`,这个参数被传递到了函数`c`的内部。在函数`c`的内部,首先打印了变量`ss`的值,即`2`,然后又打印了传入的参数`c1`的值,即`3`。因此,最终的输出结果中包括了`2`和`3`两个数字。如果你不希望输出`3`,可以将函数`c`的打印语句修改为只输出变量`ss`的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 13:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表