函数可以调用它本身吗?
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函数调用它本身可以吗?
当然你要能让程序退出才行,不能那么一直循环下去啊 参考技术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】:在绑定中,您应该使用应该在<
>
内部传递的序列和传递函数:
listbox.bind('<Double-Button>', function)
【讨论】:
以上是关于函数可以调用它本身吗?的主要内容,如果未能解决你的问题,请参考以下文章
我可以双击 tkinter 列表框选项来调用 Python 中的函数吗?