实现一个可以增删查的系统,主要是为了巩固 python 基础中的方法、字典、循环、判断等知识
打印菜单 效果如下
实现方法
1 2 3 4 print("=" *12 ,"学员管理系统" ,"=" *14 ) print("{0:1}{1:13}{2:15}" .format(" " ,"1.查看学员信息" ,"2.添加学员信息" )) print("{0:1}{1:13}{2:15}" .format(" " ,"3.删除学员信息" ,"4.退出系统" )) print("=" *40 )
format 函数可以接受不限个参数,位置可以不按顺序。
此外我们定义一个变量来接收输入的值,例如1、2、3、4
key = input("请输入对应的选择:")
但是,这样每次我们都要重新执行程序,这样非常不方便,因此我们可以设置一个死循环.
1 2 3 4 5 6 7 8 while 1 : print("=" *12 ,"学员管理系统" ,"=" *14 ) print("{0:1}{1:13}{2:15}" .format(" " ,"1.查看学员信息" ,"2.添加学员信息" )) print("{0:1}{1:13}{2:15}" .format(" " ,"3.删除学员信息" ,"4.退出系统" )) print("=" *40 ) key = input("请输入对应的选择:" )
这样就可以每次执行完不停止进程而输出菜单了,另外我们要获取输入的值之后要进行判断.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 if key == "1" : print("=" *12 ,"学员信息浏览" ,"=" *14 ) input("按任意键继续..." ) elif key == "2" : print("=" *12 ,"学员信息添加" ,"=" *14 ) input("按任意键继续..." ) elif key == "3" : print("=" *12 ,"删除学员信息" ,"=" *14 ) input("按任意键继续..." ) elif key == "4" : print("=" * 12 , "退出系统" , "=" * 14 ) break else : print("=" *12 ,"无效的键盘输入" ,"=" *14 )
初始化数据 定义一个字典,加入一些数据.
1 2 3 4 5 stulist = [ {'name' :'张三' ,'age' :20 ,'classid' :'java' }, {'name' :'李四' ,'age' :25 ,'classid' :'java' }, {'name' :'王五' ,'age' :15 ,'classid' :'java' }, ]
查看信息 查看学员信息要考虑到假如列表没有数据的情况,比如数据被删除完了,这个时候我们需要判断下 stulist 这个字典里还有没有数据,我们定义一个方法做以下事情:
1.判断字典是否为空,如果是空则输出信息 2.否则输入列表,这里要按一定的格式输出
1 2 3 4 5 6 7 8 9 10 11 def showStu (stulist) : if len(stulist) ==0 : print("=" *12 ,"没有学员信息可以输出" ,"=" *14 ) return print("|{0:<5}|{1:<10}|{2:<5}|{3:10}|" .format("sid" ,"name" ,"age" ,"classid" )) print("-" *40 ) for i in range(len(stulist)): print("|{0:<5}|{1:<10}|{2:<5}|{3:10}|" .format(i+1 , stulist[i]['name' ], stulist[i]['age' ], stulist[i]['classid' ])) print("-" * 40 )
添加信息
如图所示
实现方法,当判断输入的值为2时,我们新建一个字典,然后往该字典添加3个值,并将该字典追加到stulist 中去并输出添加后的字典数据
1 2 3 4 5 6 7 8 9 10 11 elif key == "2" : print("=" *12 ,"学员信息添加" ,"=" *14 ) stu = {} stu['name' ] =input("请输入你要添加的姓名:" ) stu['age' ] = input("请输入要添加的年龄:" ) stu['classid' ] = input("请输入要添加的班级信息:" ) stulist.append(stu) showStu(stulist) input("按回车键继续..." )
删除信息
如图所示
实现方法,当输入值=3,获取需要删除的 id,因为是字典,我们需要拿到其下标,但是字典的下标是从0开始的,因此,我们需要-1,而又因为字符串的关系,因此这里我们需要强制转换下
1 2 3 4 5 6 7 elif key == "3" : print("=" *12 ,"删除学员信息" ,"=" *14 ) sid = input("请输入你需要删除的 id 号:" ) del stulist[int(sid)-1 ] showStu(stulist) input("按回车键继续..." )
退出系统
如图所示
实现方法,退出很好实现,当输入4时我们就跳出死循环就可以了
1 2 3 elif key == "4" : print("=" * 12 , "退出系统" , "=" * 14 ) break
完整代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 stulist = [ {'name' :'张三' ,'age' :20 ,'classid' :'java' }, {'name' :'李四' ,'age' :25 ,'classid' :'java' }, {'name' :'王五' ,'age' :15 ,'classid' :'java' }, ] def showStu (stulist) : if len(stulist) ==0 : print("=" *12 ,"没有学员信息可以输出" ,"=" *14 ) return print("|{0:<5}|{1:<10}|{2:<5}|{3:10}|" .format("sid" ,"name" ,"age" ,"classid" )) print("-" *40 ) for i in range(len(stulist)): print("|{0:<5}|{1:<10}|{2:<5}|{3:10}|" .format(i+1 , stulist[i]['name' ], stulist[i]['age' ], stulist[i]['classid' ])) print("-" * 40 ) def main () : while 1 : print("=" *12 ,"学员管理系统" ,"=" *14 ) print("{0:1}{1:13}{2:15}" .format(" " ,"1.查看学员信息" ,"2.添加学员信息" )) print("{0:1}{1:13}{2:15}" .format(" " ,"3.删除学员信息" ,"4.退出系统" )) print("=" *40 ) key = input("请输入对应的选择:" ) if key == "1" : print("=" *12 ,"学员信息浏览" ,"=" *14 ) showStu(stulist) input("按回车键继续..." ) elif key == "2" : print("=" *12 ,"学员信息添加" ,"=" *14 ) stu = {} stu['name' ] =input("请输入你要添加的姓名:" ) stu['age' ] = input("请输入要添加的年龄:" ) stu['classid' ] = input("请输入要添加的班级信息:" ) stulist.append(stu) showStu(stulist) input("按回车键继续..." ) elif key == "3" : print("=" *12 ,"删除学员信息" ,"=" *14 ) sid = input("请输入你需要删除的 id 号:" ) del stulist[int(sid)-1 ] showStu(stulist) input("按回车键继续..." ) elif key == "4" : print("=" * 12 , "退出系统" , "=" * 14 ) break else : print("=" *12 ,"无效的键盘输入" ,"=" *14 ) if __name__ == '__main__' : main()
拓展 那么如何进行如图所示修改操作呢?
既然是对字典进行操作,步骤应该如下:
1.获取需要修改的字典下标,然后将其替换,怎么替换呢?我们稍微修改下程序,判断输入的为4则修改,先给出当前已有的列表,然后要求用户输入 id,当然这个 id 是需要-1的,并且必须是int 类型,否则会报错,然后我们获取 stulist对应 id 的三个参数去进行输入即可。
1 2 3 4 5 6 7 elif key == "4" : showStu(stulist) sid = int(input("请输入你需要修改的 id 号:" ))-1 stulist[sid]["name" ] = input("请输入你要修改的姓名:" ) stulist[sid]["age" ] = input("请输入你要修改的姓名:" ) stulist[sid]["classid" ] = input("请输入你要添加的班级信息:" ) showStu(stulist)
GitHub code
喜欢新事物,关注云计算行业,对新的技术有追求,喜欢写作和coding