所以我试图制作一个暴力破解密码的程序.
首先,我为长度为1的密码制作了一个程序:
password = input('What is your password?\n')
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
def brute_force():
for char in chars:
if char == password:
return char
print(brute_force())
Run Code Online (Sandbox Code Playgroud)
然后我编辑了一个长度为2的密码:
def brute_force():
guess = [None, None]
for char in chars:
guess[0] = char
for char2 in chars:
guess[1] = char2
if ''.join(guess) == password:
return ''.join(guess)
Run Code Online (Sandbox Code Playgroud)
最后我为长度为3的密码做了同样的事情:
def brute_force():
guess = [None, None, None]
for char in chars:
guess[0] = char
for char2 in chars:
guess[1] = char2
for char3 in chars:
guess[2] = char3 …Run Code Online (Sandbox Code Playgroud) 我正在制作一个国际象棋程序,我希望能够拖动棋子。为了做到这一点,我将作品的图像放在 a 上,Canvas以便可以拖动它(Label如果需要,我也可以使用 a )。但是,当我拖动该作品时,该作品的图像周围会出现一个白色方块。
我在研究这个问题的时候,很多人给出了这样的解决方案:
drag_canvas = Canvas(self, height=80, width=80, bg="yellow")
root.wm_attributes("-transparentcolor", "yellow")
Run Code Online (Sandbox Code Playgroud)
这导致背景透明但不是可见的棋盘,而是 GUI 后面的程序
有什么办法可以让背景透明并显示后面的棋盘而不是 tkinter 窗口后面的程序?
注意:我不介意使用任何其他小部件(例如 a Label),但它们必须使用 Python 的默认模块(因此没有 PIL),因为该程序需要在我无法下载其他模块的环境中使用。
这是我的代码:
from tkinter import *
root = Tk()
a = Button(text=str(1))
a.place(x=100, y=100)
widget_x, widget_y = a.winfo_rootx(), a.winfo_rooty()
print(widget_x, widget_y)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
输出始终是0 0. 这是为什么?我该如何解决它?