学生系统1.0版本:
#添加学员
def add_student():
# 输入学员的姓名
name = input('请输入学员姓名:')
# 把姓名添加到大列表中
student_list.append(name)
#查询学员的函数
def query_student():
#展示所有学员信息
# for循环 遍历列表中每一条数据
for x in range(0, len(student_list)):
# 根据x的值,取出列表对应索引的数据
name = student_list[x]
print('序号:%s 姓名:%s' % (x, name))
下面的这个函数,为带返回值得函数
#封装判断选择学员序号是否在范围的函数
#带返回值的函数 函数执行完之后,会返回一个结果,可以声明变量接收这个结果
def get_index(type):
'''
函数的功能描述:获取用户选择的学员序号
:param type: 选择序号类型
:return: 选择的序号
'''
index = input('请选择要%s的学员序号:'%type)
# 转换为整数类型
index = int(index)
while index not in range(0, len(student_list)):
index = input('选择的学员序号不存在,请重选:')
index = int(index)
#返回选择的序号
return index
#修改学员信息
def update_student():
'''
:return: None
'''
# 1.展示所有学员信息
query_student()
# 2.选择要修改的学员序号
index=get_index('修改')
# 根据选择的索引取出对应的姓名
name = student_list[index]
# 获取修改后的名字
new_name = input('请输入修改后的姓名(%s):' % name)
# 根据索引修改列表中的数据
student_list[index] = new_name
#删除学员信息
def delete_student():
#1.查询学员信息
query_student()
# 2.选择要删除的序号
index=get_index('删除')
a = input('确定要删除该序号?y(是的)/n(不是):')
if a == 'y':
# 根据索引删除列表中的数据
del student_list[index]
#保存数据的函数
def save_data():
#1.打开文件
file_handle=open('student.txt','w')
#2.写入数据
for name in student_list:
#将姓名写入文件中
file_handle.write(name)
#写入换行符
file_handle.write('\n')
#3.关闭文件
file_handle.close()
#引入os模块
import os
#读取数据的函数
def read_data():
#判断文件是否存在,如果存在,再做打开文件的操作
#如果文件存在返回True 不存在 返回False
rs=os.path.exists('student.txt')
if rs==True:
#1.打开文件
file_handle=open('student.txt')
#2.读取文件内容
contents=file_handle.readlines()
# print(contents)
for name in contents:
#去除 \n
name=name.strip('\n')
#将取出的name添加到大列表中
student_list.append(name)
#声明一个大列表,存放学员的姓名
student_list=[]
#读取存储的数据
read_data()
while True:
print('1.添加学员')
print('2.修改学员')
print('3.查询学员')
print('4.删除学员')
print('0.退出程序')
#选择操作
num=input('请输入您的选择:')
num=int(num)
#如果选择的数字不在0~5,继续选择
while num not in range(0,5):
num=input('没有改选项,请重选:')
num=int(num)
if num == 1:
# 调用添加学员函数
add_student()
# 保存
save_data()
elif num == 2:
# 调用修改学员函数
update_student()
# 保存
save_data()
elif num == 3:
# 查询学员信息
query_student()
elif num == 4:
# 调用删除学员函数
delete_student()
# 保存
save_data()
else:
break
学生系统2.0
查询:1.查询所有学员 2.根据姓名查询
删除:1.根据学员序号删除 2.删除所有学员 3.根据姓名删除学员
'''''
# 大列表中嵌套小列表,小列表中存储一个学员的完整信息
student_list = [['张三','22','男','110'],['李四','22','男','110'],['王五','22','男','110']]
# 例如要取出张三这个学员的信息
# 1.取出张三这个学员的小列表
student1 = student_list[0]
# 2.再从小列表中根据索引取出姓名、年龄、性别、电话
name = student1[0]
age = student1[1]
sex = student1[2]
phone = student1[3]
'''
#添加学员函数
def add_student():
#输入学员姓名、年龄、电话
name=input('请输入学员姓名:')
age=input('请输入学员年龄:')
phone=input('请输入学员电话:')
#把name、age、phone放在小列表中
student=[name,age,phone]
#把小列表添加到所有学员的大列表中
#append(object) insert(index,object) extend(iterable)
student_list.append(student)
print('****添加学员成功****')
#查询学员的函数
def query_student():
#1.查询所有学员
#2.输入学员姓名 查询学员 得到查询的学员的序号
print('*******学员信息列表*********')
print('1.查询所有学员')
print('2.根据姓名,查询学员序号')
num = input('请选择您的操作:')
# 转换为整数
num = int(num)
# 判断选择学员序号是否在范围内
while num not in range(1,3):
# 不在范围,重新选择
num = input('没有选项,请重选:')
num = int(num)
if num==1:
#遍历大列表
for x in range(0,len(student_list)):
#根据x的值 从大列表中取出小列表
student=student_list[x]
#从小列表中取出姓名、年龄、电话
name=student[0]
age=student[1]
phone=student[2]
print('序号:%s姓名:%s年龄:%s电话:%s'%(x,name,age,phone))
else:
name = input('请输入要查询学员的姓名:')
while 1:
a=False
for student in student_list:
if student[0] == name:
#根据student(小列表)在大列表中位置,判断学员信息的序号
index=student_list.index(student,0,len(student_list)+1)
print('该学员的序号为:%s'%index)
a=True
if a==False:
name = input('您要查询的学生不在该表,重新输入查询学员的姓名:')
else:
break
#修改学员的函数
def update_student():
#判断是否有学员信息,如果没有,直接结束函数的执行
if len(student_list)==0:
print('没有学员信息,无法进行修改操作!')
#强制结束函数的执行 return 下面的代码 都不会再执行了
return
#1.查询学员信息
query_student()
#2.选择要修改的学员序号
num=input('请选择要修改的学员序号:')
#转换为整数
num=int(num)
#判断选择学员序号是否在范围内
while num not in range(0,len(student_list)):
#不在范围,重新选择
num=input('没有该序号,请重选:')
num=int(num)
#根据选择的序号取出对应的学员信息小列表
student=student_list[num]
new_name=input('请输入修改后的姓名(%s):'%student[0])
new_age=input('请输入修改后的年龄(%s):'%student[1])
new_phone=input('请输入修改后的电话(%s):'%student[2])
#6.修改小列表中的数据
student[0]=new_name
student[1]=new_age
student[2]=new_phone
print('-----------修改数据完成------------')
def get_index(type):
'''
函数的功能描述:获取用户选择的学员序号
:param type: 选择序号类型
:return: 选择的序号
'''
index = input('请选择要%s的学员序号:'%type)
# 转换为整数类型
index = int(index)
while index not in range(0, len(student_list)):
index = input('选择的学员序号不存在,请重选:')
index = int(index)
#返回选择的序号
return index
#删除学员信息
#1.根据序号删除 2.删除所有学员 3.根据学员姓名删除(有同名的,把同名的都删除)
def delete_student():
if len(student_list)==0:
print('没有学员信息,无法执行删除操作!')
return
print('1.根据学员序号删除')
print('2.删除所有学员')
print('3.根据姓名删除学员')
num = int(input('请输入您的选择:'))
# 判断选择的选项是否在范围内
while num not in range(1, 4):
#获取输入的内容 并转换为整数类型
num = int(input('没有改选项,请重选:'))
#判断选择选项
if num==1:
# 1.展示所有学员信息
query_student()
# 2.选择删除的序号
index = get_index('删除')
rs= input('确定要删除序号为(%s)的学员信息?y(是的)/n(不是):'%index)
if rs == 'y':
# 根据索引删除列表中的数据
del student_list[index]
#student_list.pop(index)
elif num==2:
# student_list.clear()
rs = input('确定要删除全部成员?y(是的)/n(不是):')
if rs == 'y':
# 删除列表中全部数据
student_list.clear()
else:
print('删除数据操作已取消!')
else:
name=input('请输入要删除的学员姓名:')
while 1:
a=False
for student in student_list:
if student[0]==name:
#判断该学员的序号,根据序号删除
# index=student_list.index(0,len(student_list)+1)
# del student_list[index]
student_list.remove(student)
print('删除该学员成功!!!!!!!')
a=True
if a==False:
name=input('您要删除的学生姓名不存在,请重输:')
else:
break
#保存数据
def save_data():
file_handle=open('student_v2.txt',mode='w')
#写入数据
for student in student_list:
#把列表中的数据用 空格分开 并拼接为一个字符串
s=' '.join(student)
#写入
file_handle.write(s)
file_handle.write('\n')
file_handle.close()
import os
#读取数据
def read_data():
#1.判断文件是否存在
rs = os.path.exists('student_v2.txt')
if rs == True:
#2.打开文件
file_handle = open('student_v2.txt', mode='r')
#3.读取所有行
contents=file_handle.readlines()
for msg in contents:
#去除 \n
msg=msg.strip('\n')
#使用 空格 分割 字符串,得到列表
student=msg.split(' ')
#将小列表添加到大列表
student_list.append(student)
file_handle.close()
#声明一个大列表,存放所有学员信息
student_list=[]
#读取本地数据
read_data()
#2.while循环
while True:
print('**************学员管理系统v2.0************')
print('************出品人:智游集团**********')
print('1.添加学员')
print('2.查询学员')
print('3.修改学员')
print('4.删除学员')
print('0.退出程序')
# 选择操作
num = input('请输入您的选择:')
#转换为整数
num = int(num)
# 判断选择的选项是否在范围内
while num not in range(0, 5):
#重新选择
num = input('没有改选项,请重选:')
#把字符串类型转换整数类型
num = int(num)
#根据选择的选项执行对应的操作
if num==1:
#调用添加学员的函数
add_student()
save_data()
elif num==2:
#调用查询学员的函数
query_student()
elif num==3:
#调用修改学员的函数
update_student()
save_data()
elif num==4:
#调用删除学员的函数
delete_student()
save_data()
else:
print('-----------程序运行结束-------------')
break