一、用户注册验证
在很多网站上都有注册功能,用户在使用注册功能时,需要遵守网站的注册规则。例如,一个网站的用户注册页面中包含用户名、密码、手机号等信息,其中用户名规则为:长度为6~10个字符、以汉字、字母或下划线开头;密码规则为:长度为6~10个字符、必须以字母开头、包含字母、数字、下划线;手机号规则为:中国大陆手机号码。若用户输入的注册信息格式有误,系统会对用户进行提示。本任务要求编写程序,模拟实现用户注册功能。
分析
用户注册信息可以使用正则表达式实现。按用户注册页面的组成部分,可分为以下三种情况:
- 用户名对应的正则表达式为^[\u4E00-\u9FA5A-Za-z0-9_]{6,10}$。
- 密码对应的正则表达式为^[a-zA-Z]\w{5,9}$.
- 手机号对应的正则表达式为^1[03456789]\d{9}$
代码实现
二、电子计算器
从早期的算盘、算筹到如今的计算器,计算工具的不断升级使得人类的计算能力从速度与计算位数上都得到了质的提升。随着智能设备的发展,计算器从一个独立的机器成为了电子设备中的一个附加功能。一个常规的电子计算器如图所示。
如图所示的电子计算器不仅支持“+”、“-”、“*”、“/”运算,还支持“回退”、“清空”与“退出”功能。本任务要求使用tkinter实现如图所示的电子计算器。
分析
电子计算器的界面主要包含以下元素:
- 根窗口:大小不可拉伸。
- 窗口标题:内容为计算器。
- 顶级菜单:只包含“菜单”选项。
- 下拉菜单:只包含“退出”选项。
- 文本框:可同时接收键盘输入和按钮输入。
- 回退与清空按钮:两者占据一整行,大小相同。
- 16个按钮:所有的数字、小数点与运算符号。
由于回退和清空按钮的样式相同,其它按钮的样式相同,为了将相关组件使用框架统一管理,因此这里可创建两个框架分组排布组件。
文本框中的数据是一个字符串,它里面只能包含小数、整数、运算符,且是不可变的,因此这里需要先将字符串转换成列表,再将列表转换为字符串进行返回。
代码实现
三、图书管理系统登录注册页面
登录与注册是程序中最基本的模块。用户只有登录成功后,才可以使用应用系统中的全部功能。若用户没有登录账号,可通过注册界面设置登录账号信息。某图书管理系统的登录窗口如图1所示。
图1的窗口中包含用户名、密码、验证码、登录、注册、退出。当用户输入正确的登录信息,点击“登录”按钮后,程序会弹出一个欢迎用户的对话框,如图2所示。
用户点击“注册”按钮后,会弹出注册用户的窗口,如图3所示。
用户填写完个人信息后,点击“确认注册”按钮,会记录用户的信息,并弹出“注册成功”对话框,如图4所示。
本任务要求使用tkinter,实现包含以上所示登录功能与注册功能的图形窗口。
分析
图书管理系统主要包含登录窗口和注册窗口,关于它们的介绍如下:
- 登录窗口
图书管理系统的登录窗口主要包含以下元素:
- 根窗口:大小为450*300且不可拉伸。
- 窗口标题:内容为“图书管理系统”。
- 4个标签组件:内容分别为“用户名”、“密码”、“验证码”和随机6位验证码。
- 3个文本框:分别供用户输入“用户名”、“密码”和“验证码”
- 3个按钮:按钮的标题分别为“登录”、“注册”、“退出”。
单击“登录”按钮后,若用户填写的密码有误,则弹出“密码错误”对话框;若用户填写的验证码有误,则弹出“验证码错误”对话框;若用户未填写用户名与密码,则弹出“用户名或密码不能为空”对话框;若用户填写的信息均无误,则弹出欢迎对话框。
如果用户并未注册过图书管理系统,则会弹出提醒用户先注册的对话框,通过选择对话框中包含的选项按钮可决定是否注册用户,或者可直接单击登录界面的“注册”按钮进入注册窗口。
- 注册窗口
图书管理系统的注册窗口主要包含以下元素:
- 新窗口:初始大小为350*200且可拉伸。
- 窗口标题:内容为“注册”。
- 3个标签组件:内容分别为“用户名:”、“请输入密码:”、“请再次输入密码:”。
- 3个文本框:供用户输入账户、密码或确认密码。
- 1个按钮:按钮的标题为“确认注册”
单击“确认注册”按钮后,若用户填写已注册过的名称,则弹出“用户名已存在”的对话框;若用户未填写用户名或密码,则弹出“用户名或密码不能为空”的对话框;若用户两次输入不同的密码,则弹出“前后密码不一致”的对话框;若用户填写的信息均无误,则弹出如图4所示的对话框。
实现本任务的过程比较简单,可直接先创建登录窗口,并为窗口中的每个按钮组件绑定与事件相关的函数。