【发布时间】:2020-12-06 18:45:06
【问题描述】:
我必须使用下面的代码制作井字游戏。唯一的问题是我的班级根本没有教过 lambda,也没有人知道该怎么做。我对它的理解是一个非常简单的功能,但是我不明白为什么我们不应该只使用常规功能并创建更多按钮。
from tkinter import *
import tkinter.font as font
root = Tk()
root.geometry("500x500")
myFont = font.Font(family = "Courier", size = 80)
board = [[Button(root, text = "-", font = myFont, command = (lambda x = x, y = y: update(x,y))) for y in range(3)] for x in range(3)]
for x in range(3):
for y in range(3):
board[x][y].grid(row=x,column=y)
def update(x,y):
print(str(x) + str(y))
root.mainloop()
【问题讨论】:
-
lambda只是在单个语句中定义函数的一种方式。除了简洁之外,使用lambda比使用def没有任何优势;如果您愿意,我会说只需使用def。
标签: python tkinter tic-tac-toe