用Python 编写一个登录模块: 1.登录界面的标题为“航班预订登录界面” 2.登录航班预订系统时,满足以下要求: (1)代理名称 由4位或者以上的字符和数字组成,不超过8位,不能由纯数字组成或者数字开头,否则系统提示给出相应的提示“代理名称不能由纯数字组成,请重新输入”“代理名称不能由数字开头,请重新输入”“代理名称长度必须至少为4个字符”“代理名称不能超过8位,请重新输入”。 (2)密码 密码固定为MERCURY,长度大于4位字符,小于8位字符。可以由纯字母、纯数字或者字母加数字组成。不区分大小写,每次当输入错误密码时提示信息为“密码错误,请重试”。点击确定,系统提示“登录失败。请稍后再试”再点击确定后,系统返回登录界面。连续四次输入密码错误,系统提示“登录失败。请稍后再试”,点击确定,系统退出。 (3)点击取消按钮,关闭登录界面并退出系统。 (4)点击帮助按钮,系统弹出提示框“密码为MERCURY” (5)当代理名称框为空时,系统提示"代理名称不能为空"。密码为空时,系统提示“请输入密码”,同时为空会优先提示”请输入代理名称”。
时间: 2023-11-22 19:56:17 浏览: 151
view_python登录_denglu_
以下是一个简单的登录模块的Python代码,实现了上述要求:
```python
from tkinter import messagebox, simpledialog, Tk
class Login:
def __init__(self):
self.attempts = 0
self.root = Tk()
self.root.title("航班预订登录界面")
self.create_widgets()
def create_widgets(self):
self.agent_label = self.create_label("代理名称:")
self.agent_entry = self.create_entry()
self.password_label = self.create_label("密码:")
self.password_entry = self.create_entry(show="*")
self.login_button = self.create_button("登录", self.login)
self.cancel_button = self.create_button("取消", self.root.quit)
self.help_button = self.create_button("帮助", self.show_help)
def create_label(self, text):
label = simpledialog.Label(self.root, text=text)
label.pack()
return label
def create_entry(self, show=None):
entry = simpledialog.Entry(self.root, show=show)
entry.pack()
return entry
def create_button(self, text, command):
button = simpledialog.Button(self.root, text=text, command=command)
button.pack()
return button
def validate_agent_name(self):
agent_name = self.agent_entry.get()
if len(agent_name) < 4:
messagebox.showerror("错误", "代理名称长度必须至少为4个字符")
return False
elif len(agent_name) > 8:
messagebox.showerror("错误", "代理名称不能超过8位,请重新输入")
return False
elif agent_name.isdigit() or agent_name[0].isdigit():
if agent_name.isdigit():
messagebox.showerror("错误", "代理名称不能由纯数字组成,请重新输入")
else:
messagebox.showerror("错误", "代理名称不能由数字开头,请重新输入")
return False
return True
def validate_password(self):
password = self.password_entry.get()
if not password:
if not self.agent_entry.get():
messagebox.showerror("错误", "请输入代理名称")
else:
messagebox.showerror("错误", "请输入密码")
return False
elif password.lower() != "mercury":
self.attempts += 1
if self.attempts == 4:
messagebox.showerror("错误", "登录失败。请稍后再试")
self.root.quit()
else:
messagebox.showerror("错误", "密码错误,请重试")
return False
return True
def login(self):
if self.validate_agent_name() and self.validate_password():
messagebox.showinfo("成功", "登录成功")
def show_help(self):
messagebox.showinfo("帮助", "密码为MERCURY")
def run(self):
self.root.mainloop()
if __name__ == "__main__":
login = Login()
login.run()
```
运行该代码,即可看到一个简单的登录窗口,可以输入代理名称和密码进行登录。如果输入格式不符合要求,会弹出相应的错误提示框。如果连续四次输入密码错误,系统会提示“登录失败。请稍后再试”并退出登录界面。点击帮助按钮,系统会弹出提示框“密码为MERCURY”。点击取消按钮,会关闭登录界面并退出系统。
阅读全文