鱼C论坛

 找回密码
 立即注册
查看: 1268|回复: 7

[已解决]python里有没有“穿越函数”这种东西

[复制链接]
发表于 2021-10-23 14:42:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
自学小白,不知道怎么描述这个功能。大概就是想要实现
  1. def f_1():
  2.       .....
  3.       if  ....:#比如满足某个条件时,触发f_2()改变f_1()里的参数。
  4.          f_2()
  5.          #然后f_2()执行完成之后,这里用一个函数回到f_1()开头,重新执行f_1()

复制代码


大概就是想实现这样一个功能,求助各位大佬有没有这种函数吖
最佳答案
2021-10-23 15:04:43
本帖最后由 傻眼貓咪 于 2021-10-23 15:08 编辑

不明白你想要的,希望我的代码对你有帮助
  1. def A(num):
  2.     if num > 5:
  3.         def B():
  4.             nonlocal num
  5.             num = 5
  6.         B()
  7.         A(num)
  8.     else:
  9.         print(num)

  10. A(123456)
复制代码
  1. 5
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-23 14:53:35 | 显示全部楼层
生成器的.send方法不知道能不能符合你的需求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-23 14:55:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-23 14:55:55 | 显示全部楼层
递归有点符合,单递归都是同一个函数。
看你的需求,应该不用“穿越”。
你的需求具体是啥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-23 15:04:43 | 显示全部楼层    本楼为最佳答案   
本帖最后由 傻眼貓咪 于 2021-10-23 15:08 编辑

不明白你想要的,希望我的代码对你有帮助
  1. def A(num):
  2.     if num > 5:
  3.         def B():
  4.             nonlocal num
  5.             num = 5
  6.         B()
  7.         A(num)
  8.     else:
  9.         print(num)

  10. A(123456)
复制代码
  1. 5
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-23 15:50:38 | 显示全部楼层
本帖最后由 jackz007 于 2021-10-23 15:53 编辑

        穿越不了,只能 "好进好出,有始有终"
  1. def f1(n):
  2.     while True:
  3.         print('n = ' , n)
  4.         if n :
  5.             n -= 1
  6.             f2(n)
  7.         else:
  8.             break

  9. def f2(n):
  10.     print('f2()')

  11. f1(10)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-23 16:48:25 From FishC Mobile | 显示全部楼层
没有。
你想实现的目标有肯定有更好的实现逻辑,很多新手都是上来就问能不能让代码怎么样运行,殊不知他想实现的结果几行代码就搞定了。所以说你问更原始的目标可能有更多答案。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-23 20:37:33 | 显示全部楼层
傻眼貓咪 发表于 2021-10-23 15:04
不明白你想要的,希望我的代码对你有帮助:

差不多是这个意思,我明天试试这个思路
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-17 06:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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