937135952 发表于 2020-8-11 14:47:15

关于函数嵌套和return的问题

本帖最后由 937135952 于 2020-8-11 16:34 编辑

有两个问题:问题1:代码如下
c=10

def one():
    x=1+1
    #print (x)
    return x
      
def two(x):
    global c
   
    c=1+x+c
    print (c)
    return c

def three(y):
    z=y+1
    print(z)
    for i in range(10):
      two(one())      

def four(b):
    a=b+1
    print (a)
    return a

three(two(one()))

能不能不用这种套娃的方式来执行代码.......我写了一个程序有十几个函数,然后就用这种方式来执行的。。。有没有其他的简洁的表示方法


问题二:代码如下




c=10

def one():
    x=1+1
    #print (x)
    return x
      
def two(x):
    global c
   
    c=1+x+c
    print (c)
    return c

def three(y):
    z=y+1
    print(z)
    for i in range(10):
      two(one())      


three(3)
four(three())

def four(b):
    a=b+1
    print (a)
    return a




这里four(three())我想用three()执行过后,   
for i in range(10):
      two(one())   

two()函数里return的c的值,但是这个值明显是在函数three()里了,我不懂要怎么传出来,即传到four()里,也就是我想实现four(c)

陈尚涵 发表于 2020-8-11 14:56:56

请这样发代码,谢谢~

https://fishc.com.cn/forum.php?mod=viewthread&tid=52272&highlight=%B7%A2%B4%FA%C2%EB

yhhpf 发表于 2020-8-11 16:14:10

问题一:
你把几个函数合并下,别分成多个函数,既然可以套在一起,应该是能写成1-2个函数的

问题二:
你函数中例如def four(b) 这其中的b就是你需要传入这个函数的,所以只需要将b对应词你要传入的内容即可;
页: [1]
查看完整版本: 关于函数嵌套和return的问题