pytho2
# 学生信息有姓名、性别、年龄、学号、班级。
# gai,没有年龄,没有学号,只有手机号
# 基本功能展示:
"""
============================
欢迎使用【学生信息管理系统】
1.显示所有学生信息
2.新建学生信息
3.查询学生信息
4.修改学生信息
5.删除学生信息
0.退出系统
============================
"""
# 所有学生信息用一个列表模拟学生数据库。
student_data = [
{
'姓名': '李明',
'性别': '男',
#'年龄': 18,
'电话': 20200001,
'班级': '2001班',
},
{
'姓名': '张华',
'性别': '男',
#'年龄': 19,
'电话': 20200002,
'班级': '2002班',
}
]
# 定义窗口函数:show_window()
def show_window():
print("""
============================
欢迎使用【学生信息管理系统】
1.显示所有学生信息
2.新建学生信息
3.查询学生信息
4.修改学生信息
5.删除学生信息
0.退出系统
============================
""")
# 定义显示所有学生信息的函数:show_all()
# 由于学生信息数据为列表,所以需要用到for循环输出
def show_all_stu():
for student in student_data:
print(student)
# 定义新建学生信息的函数:create_stu()
def create_stu():
name = input("请输入学生姓名:")
sex = input("请输入学生性别:")
#age = int(input("请输入学生年龄:"))
stu_id = int(input("请输入学生电话:"))
class_id = input("请输入学生班级:")
student = {
'姓名': name,
'性别': sex,
#'年龄': age,
'电话': stu_id,
'班级': class_id
}
student_data.append(student)
# 定义查询学生信息的函数:find_stu()
def find_stu():
name = input("请输入要查询的学生姓名:")
for student in student_data:
if student['姓名'] == name:
print("该学生信息已查到,信息如下:",student)
return student
else:
print("该学生不存在!")
break
# 定义修改学生信息函数:modify_stu()
def modify_stu():
name = input("请输入要修改信息的学生姓名:")
for student in student_data:
if student['姓名'] == name:
num = int(input("请确认需要修改该学生几个信息:"))
if num == 1:
infor = input("请输入需要修改的信息:")
if infor == '姓名':
student['姓名'] = input("请输入修改后的学生姓名:")
elif infor == '性别':
student['性别'] = input("请输入修改后的学生性别:")
#elif infor == '年龄':
# student['年龄'] = int(input("请输入修改后的学生年龄:"))
elif infor == '电话':
student['电话'] = input("请输入修改后的学生电话:")
elif infor == '班级':
student['班级'] = input("请输入修改后的学生班级:")
print("该学生修改后的信息为:", student)
else:
student['姓名'] = input("请输入修改后的学生姓名:")
student['性别'] = input("请输入修改后的学生性别:")
# student['年龄'] = int(input("请输入修改后的学生年龄:"))
student['电话'] = int(input("请输入修改后的学生电话:"))
student['班级'] = input("请输入修改后的学生班级:")
print("该学生修改后的信息为:",student)
else:
print("该学生不存在!")
break
# 定义删除学生信息的函数:del_stu()
def del_stu():
name = input("请输入要删除的学生姓名:")
for student in student_data:
if student['姓名'] == name:
print("该学生信息已查到,信息如下:\n", student,"\n请确认是否需要删除该学生的信息?")
infor = input("请输入是or否:")
if infor == "是":
student_data.remove(student)
elif infor == "否":
break
else:
print("该学生不存在!")
break
show_window()
# 用一个循环显示运行窗口:
while True:
opreation = input("请输入操作序号:")
if opreation == "1":
show_all_stu()
elif opreation == "2":
create_stu()
elif opreation == "3":
find_stu()
elif opreation == "4":
modify_stu()
elif opreation == "5":
del_stu()
elif opreation == "0":
print("谢谢使用,再见!")
break
else:
print("请按照指定序号输入!")
最后一题
正则表达式用法
import re
def show():
print("="*66)
print("= 注册规则: =")
print("=用户名: 长度为6-10个字符,以汉字或字母或下划线开头 =")
print("=密码规则:长度为6-10个字符,必须以字母开头,包含字母数字下划线 =")
print("=手机号规则:中国大陆手机号码,以13、15、17开头的手机号 =")
print("邮箱基本格式为“名称@域名”。mailbox")
print("="*66)
num=1
while num<=3:
show()
p1=re.compile(r'[\u4e00-\u9fa5A-Za-z_]{6,10}')
p2=re.compile(r'\b[A-Za-z][\w]{5,9}')
p3=re.compile(r'[0-9]{11}')
inname=input('请输入注册用户名:')
name=p1.search(inname)
if name!=None:
inpassword=input('请输入注册密码:')
password=p2.search(inpassword)
if password!=None:
inphone=input('请输入手机号:')
phone=p3.search(inphone)
if password!=None:
print("注册成功!")
print('用户名:%s 密码:%s 手机号:%s'%(inname,inpassword,inphone))
break
else:
print("手机号格式错误")
else:
print("用户密码格式错误")
else:
print("用户名格式错误!")
print("错误%s次"%num)
num+=1