【问题标题】:Is this an example of recursion?这是递归的例子吗?
【发布时间】:2016-11-27 18:03:10
【问题描述】:

在 Python Tkinter 中,我有一个生成按钮的函数。当它被点击时,它运行相同的功能。例如

from tkinter import *
import random

def CreateButton():
    btnPushMe = Button(text="click me",command=lambda: CreateButton()).grid(row=random.randint(0,10),column=random.randint(0,10))

root = Tk()

root.title("Is this recursion?")
root.geometry("500x250")
CreateButton()

我想知道这是否是递归的例子?

【问题讨论】:

  • 否,因为回调不会从您的 CreateButton 例程调用,而是从主循环调用。
  • 递归是一个调用自身的函数。
  • 不要打扰CreateButton 中的作业。 btn_PushMe绑定Nonegrid的返回值),然后立即删除。

标签: python recursion tkinter


【解决方案1】:

严格来说,不,它不是递归的例子。用最简单的话来说,递归函数有两部分:

  1. 无需调用自身即可返回值的部分
  2. 自称的部分

在您的代码中,您没有直接从其自身调用函数,您只是在创建对象,这些对象在将来的某个时间点可能会或可能不会调用该函数。

【讨论】:

    猜你喜欢
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 1970-01-01
    • 2017-10-05
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多