python 04 学生信息管理系统

  今天任务不多,做了学生信息管理系统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

python 04 学生信息管理系统的相关文章

python tkinter 学生信息管理系统

使用tkinter模块,python3.6,主要功能有添加,查询,删除,修改学生信息 下面贴出的是主界面和添加学生信息界面,剩下的就不贴出来了.........          以下就是完整的代码: 1 from tkinter import * 2 import tkinter.font as tkFont 3 import tkinter as tk 4 from tkinter import ttk 5 6 LARGE_FONT= ("Verdana", 20) 7 8 #窗口

使用python实现一个简单的学生信息管理系统

最近公司搬办公室,杂七杂八的事情比较多,又碰上业务要上线了...很多事情堆到一起来做,导致最近没什么时间学习,写博客.前两天胜利日放假,把以前用java写的学生信息管理系统用python重新写了一遍,以便于帮助python的学习. 好了,废话不多说,首先进行需求分析,下面是我根据需求画的系统结构图: 纯手工制图.....画的不好敬请谅解.从上图来看,整个系统分为main,add,delete,change,select,sort,io,print共八个模块,实现了对学生信息的增删改查排的功能,将

Python学生信息管理系统的开发

# 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在全局变量中:并提供给用户查看当前有多少个学生的功能:# 第三题:向用户提供根据学号查看指定学员具体信息,指定学号删除学员功能 # 用来保存学生的所有信息stuInfos = []# 全局变量sno = ""sName = ""sAge = "" #

数据结构课程设计论文--学生信息管理系统

数据结构课程设计论文--学生信息管理系统 1.学生成绩分析问题 (1)问题描述.录入并保存一个班级学生多门课程的成绩,并对成绩进行分析. (2)基本要求.a)通过键盘输入各学生的多门课程的成绩,建立相应的文件input.dat.b)对文件input.dat中的数据进行处理,要求具有如下功能:按各门课程成绩排序,并生成相应的文件输出:计算每个人的平均成绩,按平均成绩排序,并生成文件:求出各门课程的平均成绩.最高分.最低分.不及格人数.60~69分人数.70~79分人数.80~89分人数.90分以上

python3 简陋的学生信息管理系统

# 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. 修改:输入学生姓名或者id,可以对学生信息进行修改# 4. 删除:输入学生姓名或者id,删除对应学生信息 代码如下::: def increase(): student = [input("学号:"), input("姓名:"), input("年龄:&qu

学生信息管理系统修改

北京工业大学耿丹学院 c语言设计课程报告   课程设计名称:高级语言程序设计 专业班级:计算机科学与技术1 姓名:吴双 学号:150809201   2016年5月10日 一 对c语言指针链表的体会 ------------------------ 二 修改学生信息管理系统 ------------------------ 三 体会 ------------------------ 一 对c语言指针链表的体会 1.指针 简单来说,指针是一个存储计算机内存地址的变量. 用 int *ptr 这种形

用基本数据结构修改后的学生信息管理系统(增删改查)

package com.xt.student.system; //创建学生类存放信息 public class Student {//声明变量private String stuNo; private String stuName; private String gender; private int age; private int score; //对变量进行封装 public String getStuNo() {return stuNo;} public void setStuNo(St

基于数据库MySQL的简易学生信息管理系统

通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生信息: 4.可以删除学生信息: 5.可以通过学生姓名或学号显示学生所有信息: 还可以修改学生信息,添加学生表格属性等等,,,这些实现都基本类似上述的(这些不想写了,最简易的学生信息管理系统): 二:步骤 1.写一个sql脚本,包括创建数据库,使用数据库,创建学生信息表格,插入大部分学生信息. stu

学生信息管理系统

根据资料显示,那么,如果写一个字符串到一个文件中,是什么方式呢?显示到屏幕上是默认的输出文件,如果是硬盘中的一个文件,首先要打开一个文件,然后才能往里写,那么就要告诉程序这个文件在什么地方,按照什么样的方式打开(读.写.读和写.添加.覆盖等),然后打开后要给这个打开的文件一个符号(指针变量),表示后续的读和写都是针对这个文件的,而不是到屏幕的,这个指针变量以后就代表了文件自身了. 在学生信息管理系统中,需要同时保存一个学生的姓名,性别,年龄等信息,那么设置变量保存很多同学的这些信息就有点不太方便