今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典。注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖。dict属于可变类型数据,内容改变时引用不会变。dict = {},给dict赋新值(直接换内容了),字典的地址会发生改变;dict.clear(),将字典的内容清空(对内容修改),引用不变。
1 def log2(): 2 # info_dict = {} # 不能定义在循环体外 3 info_list = [] 4 num = input("请输入要录入信息的数量") 5 num = int(num) 6 for i in range(num): 7 info_dict = {} # 存储学生信息的字典要放在for循环内 8 print("录入第%s 位信息" % (i + 1)) 9 name = input("输入姓名:") 10 id = input("输入学号") 11 info_dict["姓名"] = name 12 info_dict["学号"] = id 13 info_list.append(info_dict) 14 print(info_list) 15 for info in info_list: 16 for k ,v in info.items(): 17 print(‘%s = %s‘ % (k,v)) 18 log2()
1 list2 =[] 2 for i in list2 : # 因为list2为空 所以根本无法遍历list2 (list 为空值也代表False) 3 print(i["name"]) # 这个pritn()语句无法执行
所以,代码对list的长度进行了判断。
学生信息管理系统1.0如下,只实现了基本功能,后期可进行迭代。
1 #main_module 2 """ 3 @Time: 2018/8/29 17:42 4 """ 5 import program_moudle 6 7 while True: 8 print("欢迎使用学生信息管理系统".center(20,"*")) 9 print("""1.添加学生 10 2.查询学生 11 3.修改学生 12 4.删除学生 13 5.显示所有学生 14 6.退出系统""") 15 print("*" * 32) 16 choice = input("选择你要使用的功能:") 17 if choice.isdigit(): 18 choice = int(choice) 19 if choice == 1: 20 program_moudle.add_stu() 21 elif choice == 2: 22 program_moudle.sel_stu() 23 elif choice == 3: 24 program_moudle.cha_stu() 25 elif choice == 4: 26 program_moudle.del_stu() 27 elif choice == 5: 28 program_moudle.sho_stu() 29 elif choice == 6: 30 print("谢谢使用学生信息管理系统v1.0") 31 break 32 else: 33 print("请输入1-6数字") 34 else: 35 print("请输入1-6数字")
1 """ 2 @Time: 2018/8/29 18:02 3 4 """ 5 # program_moudle 6 list = [] 7 def add_stu(): 8 active = True 9 while active: 10 signal = True 11 dict = {} 12 no = input("输入学号:") 13 if len(list) >0: 14 for i in list: 15 if i["学号"] == no: 16 print("学号已存在") 17 signal = False 18 if signal: 19 name = input("输入姓名:") 20 sex = input("输入性别:") 21 age = input("输入年龄:") 22 dict["学号"] = no 23 dict["姓名"] = name 24 dict["性别"] = sex 25 dict["年龄"] = age 26 list.append(dict) 27 print("添加成功") 28 ask = input("是否继续录入信息?(y/n)") 29 if ask == "y": 30 pass 31 else: 32 active = False 33 else: 34 continue 35 def sel_stu(): 36 active = True 37 no = input("输入学生学号:") 38 for i in list: 39 if i["学号"] == no: 40 print("""该同学信息如下 41 学号:%s 42 姓名:%s 43 性别:%s 44 年龄:%s""" % (i["学号"],i["姓名"],i["性别"],i["年龄"])) 45 active = False 46 if active: 47 print("未查到该同学") 48 def cha_stu(): 49 active = True 50 active1 = True 51 # signal = True # 不能添加在这 52 no = input("请输入学生学号:") 53 if len(list) > 0: # 若数据库内无数据,则返回无数据 54 for i in list: 55 if i["学号"] == no: # 存在查询学号,则显示该学生的信息 56 print("""该同学信息如下 57 学号:%s 58 姓名:%s 59 """ % (i["学号"],i["姓名"])) 60 active = False 61 while active1: 62 signal = True # 应该在这 63 no1 = input("输入学号:") 64 for i in list: 65 if i["学号"] == no: # 可以不修改学号,即学号可以按照原来学号来 66 pass 67 elif i["学号"] == no1: 68 print("学号已存在") 69 signal = False 70 if signal: # 不存在重复学号 ,signal不会被置为False 71 name = input("输入姓名:") 72 sex = input("输入性别:") 73 age = input("输入年龄:") 74 i["学号"] = no 75 i["姓名"] = name 76 i["性别"] = sex 77 i[‘年龄‘] = age 78 active1 = False # 跳出while 循环 79 else: 80 continue # signal 为False ,代表出现重复学号,则继续while循环 81 if active: 82 print("未查找到该学生的信息") # 未找到数据 active为True 83 else: 84 print("无数据") 85 def del_stu(): 86 active = True 87 no = input("请输入学生学号:") 88 for i in list: 89 if i["学号"] == no: 90 list.remove(i) 91 active = True 92 print("删除成功") 93 if active: 94 print("未查找到该学生的信息") 95 def sho_stu(): 96 for i in list: 97 print("""信息如下 98 学号:%s 99 姓名:%s 100 性别:%s 101 年龄:%s""" % (i["学号"], i["姓名"], i["性别"], i["年龄"])) 102 print("*" * 32)
原文地址:https://www.cnblogs.com/wangjiepy/p/9557463.html
时间: 2024-10-31 03:59:21