小编kaa*_*aan的帖子

Tkinter的.使用"不同"命令功能创建多个按钮

首先,对不起标题,我找不到更好的一个.

以下代码是我在Python程序中遇到的问题的最小化版本(我是新手btw.).

def onClick(i):
    print "This is Button: " + str(i)
    return

def start():
    b = [0 for x in range(5)]
    win = Tkinter.Tk()
    for i in range(5):
        b[i] = Tkinter.Button(win,height=10,width=100,command=lambda : onClick(i))
        b[i].pack()
    return
Run Code Online (Sandbox Code Playgroud)

它的作用:无论我点击什么按钮,它都会显示"这是按钮:4".

我想要的是:第一个按钮应该说"这是按钮:0"等等.

这是Python的通缉行为吗?如果答案是肯定的,为什么会这样呢?我该如何解决?

另一方面,这很好用:

def start():        
    x = [0 for x in range(5)]
    for i in range(5):
        x[i] = lambda:onClick(i)
        x[i]()
    return
Run Code Online (Sandbox Code Playgroud)

python user-interface tkinter late-binding python-2.7

8
推荐指数
1
解决办法
1万
查看次数

Haskell过滤字符串只有第一个出现的Char

我想用字符串过滤字符串.我想要的是使用删除每个第一个出现的char.

myFunc :: String -> String -> String
Run Code Online (Sandbox Code Playgroud)

喜欢:

myFunc "dddog" "bigdddddog" = "biddg"
Run Code Online (Sandbox Code Playgroud)

"dddog":3x d,1x o,1x g

在第二个字符串中它删除了3x d,1x o和1x g所以输出: biddg

我不能使用过滤器,因为它会删除所有发生的字符.我用它挣扎了很长时间.

提前致谢:)

haskell

2
推荐指数
1
解决办法
1037
查看次数