#!/usr/bin/python
#!coding:utf-8
import sys
#定义函数,系统菜单信息,帮助用户选择
def printStuSys():
print('**********学生信息查询系统***********')
print(' 1.查询学生信息 ')
print(' 2.增加学生信息 ')
print(' 3.删除学生信息 ')
print(' 4.修改学生信息 ')
print(' 5.退出信息系统 ')
print('************************************')
#定义函数,显示查询学生信息的内容
def showStuInfo(stuInfo):
print('学生信息如下:')
print('*'*35)
print('姓名 年龄 学号')
for temp in stuInfo:
print('%s %d %d'%(temp['name'],temp['age'],temp['stuID']))
print('*'*35)
#定义函数,增加学生信息
def addStuInfo(stuInfo):
name = input('请输入学生的姓名:')
age = int(input('请输入学生的年龄:'))
stuID = int(input('请输入学生的学号:'))
stu = {}
stu['name'] = name
stu['age'] = age
stu['stuID'] = stuID
stuInfo.append(stu)
return stuInfo
#定义一个删除学生信息的函数
#遗憾的是,不能使用 学生学号的删除:delNum == temp['stuID']执行不了
#K的值是从0开始,如果有5个元素,K最大为4,
#所以输入的数字5的话,那么最后一个不能删除,故要 delNum = k
#在while循环中i自加一定要与if齐平,否则不能执行
def delStuInfo(stuInfo):
delNum = int(input('请输入删除学生的序号(从0开始排序):'))
k = len(stuInfo)
if delNum >= k or delNum < 0:
print('你删除的序号不存在,请重新输入!')
i = 0
while i < k:
if delNum == i:
del stuInfo[i]
i += 1
return stuInfo
#定义修改学生信息的函数,注意在python区别大小写,
#keys值中大小写不同会认为不同的keys值。
def modStuInfo(stuInfo):
modNum = int(input('请输入修改学生的序号(从0开始排序):'))
k = len(stuInfo)
if modNum >= k or modNum <0:
print('你修改的序号不存在,请重新输入!')
i = 0
while i < k:
if modNum == i:
name = input('请输入修改学生的姓名:')
age = int(input('请输入修改学生的年龄:'))
stuID = int(input('请输入学生的学号:'))
stuInfo[i]['name'] = name
stuInfo[i]['age'] = age
stuInfo[i]['stuID'] = stuID
print('你修改的学生信息如下:')
print('*'*35)
print('姓名 年龄 学号')
print('%s %d %d'%(stuInfo[i]['name'],stuInfo[i]['age'],stuInfo[i]['stuID']))
print('*'*35)
i += 1
return stuInfo
#主程序运行逻辑
stuInfo = []
while True:
choiceNum = int(input('请输入你要操作的内容:'))
if choiceNum == 1:
showStuInfo(stuInfo)
elif choiceNum == 2:
addStuInfo(stuInfo)
elif choiceNum == 3:
delStuInfo(stuInfo)
elif choiceNum == 4:
modStuInfo(stuInfo)
elif choiceNum == 5:
quitFlag = input('亲,你真的要退出系统么? yes/no')
if quitFlag == 'yes':
exit()
break
else:
print('你输入错误,请重新输入')