KeyError 发表于 2023-8-19 12:30:33

请证明无法实现这样的函数

现在假设有一个函数Inspect(fun, args)(名字乱写的), 用于判断函数fun在带入参数args后, fun(*args)是否会停止运行(不论运行多久)。

停止运行指:
1.报错导致的停止
2.函数结束并返回值(可能是None)

否则可能是:
1.陷入死循环
while True:
    pass
2.无限递归
def f():
    f()

请证明这样的函数不存在。

tommyyu 发表于 2023-8-19 12:35:12

定义函数def func(n):
    x = Inspect(func, n)
    if x != 'stop':
      return
    while True:
      pass则 func 函数中的 Inspect 函数必定出错。

参考:https://www.bilibili.com/video/BV1464y1k7Ya/?spm_id_from=333.999.0.0

KeyError 发表于 2023-8-19 12:56:55

看到这条后复后,即便不是楼主,也请回复一个帖子,内容就是此回复,否则就要倒大霉(第一次看见这些内容才有效),我也是受害者。

sfqxx 发表于 2023-8-19 14:28:36

1

额外减小 发表于 2023-8-19 19:33:46

KeyError 发表于 2023-8-19 12:56
看到这条后复后,即便不是楼主,也请回复一个帖子,内容就是此回复,否则就要倒大霉(第一次看见这些内容才 ...

???为什么?

临时号 发表于 2023-8-19 19:42:21

KeyError 发表于 2023-8-19 12:56
看到这条后复后,即便不是楼主,也请回复一个帖子,内容就是此回复,否则就要倒大霉(第一次看见这些内容才 ...

哦,没事了,我打开了这个帖子两次,看了两次内容{:10_256:}

KeyError 发表于 2023-8-21 09:10:57

本帖最后由 KeyError 于 2023-8-23 09:56 编辑

临时号 发表于 2023-8-19 19:42
哦,没事了,我打开了这个帖子两次,看了两次内容

不,第一次看有效,但看第二次诅咒不会消除,但也不需要第二次回复。
页: [1]
查看完整版本: 请证明无法实现这样的函数