def showinfo():
print('*'*20)
print('***1: 添加学生')
print('***2: 删除学生')
print('***3: 查找学生')
print('***4: 修改学生')
print('***5: 查看全部学生信息')
print('***6: 退出')
def getusers():
users.clear()
fp=open('information.txt','r+')
list1 = fp.readlines()
fp.close()
list2=[]
for list3 in list1:
list2.append(list3.split())
ketlist = ["name","pass"]
for valuelist in list2:
user = dict(zip(ketlist,valuelist))
users.append(user)
students=[]
users=[]
first_add=1
fp =open('information.txt','a+')
fp.close()
while 1:
getusers()
x = input('用户未登录\n 登入请输入0 注册请输入1:\n')
if x== '1':
fp=open('infomation.txt','a+')
user_name = input('请输入注册账号:')
user_pass = input('请输入注册密码:')
user_info = {'name':user_name,'pass':user_pass}
i=0
for user in users:
if user==user_info:
i+=1
if i>0 :
print('用户已存在,请登入')
continue
else:
print(user_name,user_pass,file = fp)
fp.close()
print('注册成功')
continue
if x == '0':
user_name = input('请输入账号:')
user_pass = input('请输入密码:')
user_info = {'name':user_name,'pass':user_pass}
i=0
for user in users:
if user==user_info:
i+=1
if i>0 :
print('登入成功!')
break
else:
print('账号密码错误')
continue
while 1:
showinfo()
key = input('(请输入所需操作对应的数字)')
if key == '1':
print("添加学生信息:")
stuName = input("请输入学生姓名:")
stuId = input("请输入学生学号(学号不可重复):")
stuClass = input("请输入学生班级:")
#验证学号是否唯一
i = 0
leap = 0
for stu in students:
if stu['stuId'] == stuId:
leap = 1
break
else:
i = i + 1
if leap == 1:
print("输入学生学号重复,添加失败!")
else:
# 定义一个字典,存放单个学生信息
stuInfo = {}
stuInfo['stuName'] = stuName
stuInfo['stuId'] = stuId
stuInfo['stuClass'] = stuClass
# 单个学生信息放入列表
students.append(stuInfo)
print("添加成功!")
elif key == '2':
print("准备删除学生信息:")
delId=input("请输入要删除的学生学号:")
#i记录要删除的下标,leap为标志位,如果找到leap=1,否则为0
i = 0
leap = 0
for stu in students:
if stu['stuId'] == delId:
leap = 1
break
else:
i=i+1
if leap == 0:
print("没有此学生学号,删除失败!")
else:
del students[i]
print("删除成功!")
elif key == '3':
print("正在修改学生信息:")
alterId=input("请输入你要修改学生的学号:")
#检测是否有此学号,然后进行修改信息
i = 0
leap = 0
for stu in students:
if stu['stuId'] == alterId:
leap = 1
break
else:
i = i + 1
if leap == 1:
while True:
alterNum=int(input(" 1.修改学号\n 2.修改姓名 \n 3.修改班级 \n 4.退出修改\n"))
if alterNum == 1:
newId=input("输入更改后的学号:")
#修改后的学号要验证是否唯一
i = 0
leap1 = 0
for stu1 in students:
if stu1['stuId'] == newId:
leap1 = 1
break
else:
i = i + 1
if leap1 == 1:
print("输入学号不可重复,修改失败!")
else:
stu['stuId']=newId
print("学号修改成功")
elif alterNum == 2:
newName=input("输入更改后的姓名:")
stu['stuName'] = newName
print("姓名修改成功")
elif alterNum == 3:
newClass=input("输入更改后的班级:")
stu['stuClass'] = newClass
print("班级修改成功")
elif alterNum == 4:
break
else:
print("输入错误请重新输入")
else:
print("没有此学号,修改失败!")
elif key =='4':
print("正在查询学生信息:")
searchID=input("请输入你要查询学生的学号:")
#验证是否有此学号
i = 0
leap = 0
for stu in students:
if stu['stuId'] == searchID:
leap = 1
break
else:
i = i + 1
if leap == 0:
print("没有此学生学号,查询失败!")
else:
print("找到此学生,信息如下:")
print("学号:%s\n姓名:%s\n班级:%s\n"%(stu['stuId'],stu['stuName'],stu['stuClass']))
elif key == 5:
#遍历并输出所有学生的信息
print('*'*30)
print("接下来进行遍历所有的学生信息...")
print("学 号 姓 名 班 级")
for stu in students:
print(" %s %s %s"%(stu['stuId'],stu['stuName'],stu['stuClass']))
print("*"*30)
elif key == '6':
x = input("确认退出(yes或者no)")
if x == 'yes':
print("欢迎使用本系统,谢谢")
break;