酷代码 AI
菜单

密码锁(20分): 界面要求:数字键盘 登录 退出 删除 账号框 密码框 功能要求:1、点击键盘,在账号框,密码框实时显示数字,将输入的密码、账号跟文本1.txt的账号密码比对。(10分) 2、账号密码正确,进度条进入功能界面。(5分) 3、账号密码错误,限定输入次数,超过三次,锁定界面。(5分)

以下是一个实现密码锁功能的示例代码: ```python from tkinter import * from tkinter import messagebox class PasswordLock: def __init__(self, master): self.master = master self.master.title("密码锁") self.account_var = StringVar() self.password_var = StringVar() self.input_attempts = 0 self.create_widgets() def create_widgets(self): # 账号框 Label(self.master, text="账号:").grid(row=0, column=0) Entry(self.master, textvariable=self.account_var).grid(row=0, column=1, columnspan=3) # 密码框 Label(self.master, text="密码:").grid(row=1, column=0) Entry(self.master, textvariable=self.password_var, show="*").grid(row=1, column=1, columnspan=3) # 数字键盘 for i in range(9): button = Button(self.master, text=i+1, width=5, height=2, command=lambda x=i+1: self.add_digit(x)) button.grid(row=i//3 + 2, column=i%3, padx=5, pady=5) # 其他按钮 login_button = Button(self.master, text="登录", width=5, height=2, command=self.login) login_button.grid(row=5, column=0, padx=5, pady=5) clear_button = Button(self.master, text="删除", width=5, height=2, command=self.clear_input) clear_button.grid(row=5, column=1, padx=5, pady=5) exit_button = Button(self.master, text="退出", width=5, height=2, command=self.master.destroy) exit_button.grid(row=5, column=2, padx=5, pady=5) def add_digit(self, digit): current_password = self.password_var.get() self.password_var.set(current_password + str(digit)) def clear_input(self): self.account_var.set("") self.password_var.set("") def login(self): account = self.account_var.get() password = self.password_var.get() if account == "" or password == "": messagebox.showwarning("错误", "账号和密码不能为空!") return if self.check_password(account, password): self.show_progress() else: self.input_attempts += 1 messagebox.showwarning("错误", "账号或密码错误!剩余尝试次数:" + str(3 - self.input_attempts)) if self.input_attempts >= 3: self.lock_interface() def check_password(self, account, password): try: with open("1.txt", "r") as file: correct_account, correct_password = file.read().split() if account == correct_account and password == correct_password: return True except: pass return False def show_progress(self): progress_window = Toplevel(self.master) progress_window.title("进度") progress_label = Label(progress_window, text="登录成功!进入功能界面...") progress_label.pack(padx=50, pady=50) def lock_interface(self): for child in self.master.winfo_children(): child.configure(state=DISABLED) root = Tk() password_lock = PasswordLock(root) root.mainloop() ``` 上述代码使用`tkinter`库创建了一个密码锁的界面,包括了数字键盘、登录、退出、删除按钮、账号框和密码框。具体实现了以下功能: 1. 点击数字键盘上的数字,会将数字实时显示在密码框中,供用户输入密码。 2. 当用户点击登录按钮时,会将输入的账号和密码与`1.txt`文件中的账号密码进行比对。如果比对成功,则弹出一个进度窗口,显示登录成功。 3. 如果账号或密码错误,将限定用户的输入次数。如果超过三次错误尝试,则锁定界面,禁止继续输入。 请将上述代码保存为一个`.py`文件,确保存在一个名为`1.txt`的文本文件,并在文本文件的第一行写入正确的账号密码。然后运行这个`.py`文件即可看到密码锁的界面。 [2024-12-05 20:48:02 | AI写代码神器 | 2535点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多