函数可以调用它本身吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数可以调用它本身吗?相关的知识,希望对你有一定的参考价值。

void Compute(int s[],int n)

if(n>=M)

row r;
GenRow(s);

else

s[n]=0;
Compute(s,n+1);
s[n]=1;
Compute(s,n+1);


compute函数调用它本身可以吗?

参考技术A 可以啊。这就是递归调用。递归调用指函数/过程/子程序在运行过程中直接或间接调用自身本回答被提问者采纳 参考技术B 当然可以了,那个叫递归
当然你要能让程序退出才行,不能那么一直循环下去啊
参考技术C 可以,这叫迭代。 参考技术D 可以,那叫递归调用 第5个回答  2010-08-09 可以的,叫递归嘛

我可以双击 tkinter 列表框选项来调用 Python 中的函数吗?

【中文标题】我可以双击 tkinter 列表框选项来调用 Python 中的函数吗?【英文标题】:Can I double-click a tkinter Listbox option to invoke function in Python? 【发布时间】:2014-09-25 02:46:48 【问题描述】:

我有一个带有关联“选择”按钮的列表框。我希望我的 GUI 双击任何 Listbox 值都会调用此按钮的命令。我的尝试(下面)在选择一个选项时工作,并且用户双击窗口中的任何位置。我希望它仅在双击选择本身(蓝色突出显示的行)时才起作用。

最好的方法是什么?

from tkinter import *

def func1():
    print("in func1")

def func2():
    print("in func2")

def selection():
    try:
        dictionary[listbox.selection_get()]()
    except:
        pass

root = Tk()

frame = Frame(root)
frame.pack()

dictionary = "1":func1, "2":func2

items = StringVar(value=tuple(sorted(dictionary.keys())))

listbox = Listbox(frame, listvariable=items, width=15, height=5)
listbox.grid(column=0, row=2, rowspan=6, sticky=("n", "w", "e", "s"))
listbox.focus()

selectButton = Button(frame, text='Select', underline = 0, command=selection)
selectButton.grid(column=2, row=4, sticky="e", padx=50, pady=50)

root.bind('<Double-1>', lambda x: selectButton.invoke())

root.mainloop()

【问题讨论】:

【参考方案1】:

root.bind(...) 更改为listbox.bind(...)

【讨论】:

我犯了一个愚蠢的错误。感谢您指出。这让我发疯了!【参考方案2】:

在绑定中,您应该使用应该在&lt; &gt; 内部传递的序列和传递函数:

listbox.bind('<Double-Button>', function)

【讨论】:

以上是关于函数可以调用它本身吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以双击 tkinter 列表框选项来调用 Python 中的函数吗?

sql用啥方法可以实现递归函数?

main函数可以被其他函数调用吗?

定义一个js函数,有三个参数,调用的时候,只传递前2个参数,这样可以吗?

[VB]是不是可以在函数中调用自己?

在回调中调用函数本身[关闭]