python 04 学生信息管理系统
今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典。注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖。dict属于可变类型数据,内容改变时引用不会变。dict = {},给dict赋新值(直接换内容了),字典的地址会发生改变;dict.clear(),将字典的内容清空(对内容修改),引用不变。
def log2():
# info_dict = {} # 不能定义在循环体外
info_list = []
num = input("请输入要录入信息的数量")
num = int(num)
for i in range(num):
info_dict = {} # 存储学生信息的字典要放在for循环内
print("录入第%s 位信息" % (i + 1))
name = input("输入姓名:")
id = input("输入学号")
info_dict["姓名"] = name
info_dict["学号"] = id
info_list.append(info_dict)
print(info_list)
for info in info_list:
for k ,v in info.items():
print('%s = %s' % (k,v))
log2()
list2 =[]
for i in list2 : # 因为list2为空 所以根本无法遍历list2 (list 为空值也代表False)
print(i["name"]) # 这个pritn()语句无法执行
所以,代码对list的长度进行了判断。
学生信息管理系统1.0如下,只实现了基本功能,后期可进行迭代。
#main_module
"""
@Time: 2018/8/29 17:42
"""
import program_moudle while True:
print("欢迎使用学生信息管理系统".center(20,"*"))
print("""1.添加学生
2.查询学生
3.修改学生
4.删除学生
5.显示所有学生
6.退出系统""")
print("*" * 32)
choice = input("选择你要使用的功能:")
if choice.isdigit():
choice = int(choice)
if choice == 1:
program_moudle.add_stu()
elif choice == 2:
program_moudle.sel_stu()
elif choice == 3:
program_moudle.cha_stu()
elif choice == 4:
program_moudle.del_stu()
elif choice == 5:
program_moudle.sho_stu()
elif choice == 6:
print("谢谢使用学生信息管理系统v1.0")
break
else:
print("请输入1-6数字")
else:
print("请输入1-6数字")
"""
@Time: 2018/8/29 18:02 """
# program_moudle
list = []
def add_stu():
active = True
while active:
signal = True
dict = {}
no = input("输入学号:")
if len(list) >0:
for i in list:
if i["学号"] == no:
print("学号已存在")
signal = False
if signal:
name = input("输入姓名:")
sex = input("输入性别:")
age = input("输入年龄:")
dict["学号"] = no
dict["姓名"] = name
dict["性别"] = sex
dict["年龄"] = age
list.append(dict)
print("添加成功")
ask = input("是否继续录入信息?(y/n)")
if ask == "y":
pass
else:
active = False
else:
continue
def sel_stu():
active = True
no = input("输入学生学号:")
for i in list:
if i["学号"] == no:
print("""该同学信息如下
学号:%s
姓名:%s
性别:%s
年龄:%s""" % (i["学号"],i["姓名"],i["性别"],i["年龄"]))
active = False
if active:
print("未查到该同学")
def cha_stu():
active = True
active1 = True
# signal = True # 不能添加在这
no = input("请输入学生学号:")
if len(list) > 0: # 若数据库内无数据,则返回无数据
for i in list:
if i["学号"] == no: # 存在查询学号,则显示该学生的信息
print("""该同学信息如下
学号:%s
姓名:%s
""" % (i["学号"],i["姓名"]))
active = False
while active1:
signal = True # 应该在这
no1 = input("输入学号:")
for i in list:
if i["学号"] == no: # 可以不修改学号,即学号可以按照原来学号来
pass
elif i["学号"] == no1:
print("学号已存在")
signal = False
if signal: # 不存在重复学号 ,signal不会被置为False
name = input("输入姓名:")
sex = input("输入性别:")
age = input("输入年龄:")
i["学号"] = no
i["姓名"] = name
i["性别"] = sex
i['年龄'] = age
active1 = False # 跳出while 循环
else:
continue # signal 为False ,代表出现重复学号,则继续while循环
if active:
print("未查找到该学生的信息") # 未找到数据 active为True
else:
print("无数据")
def del_stu():
active = True
no = input("请输入学生学号:")
for i in list:
if i["学号"] == no:
list.remove(i)
active = True
print("删除成功")
if active:
print("未查找到该学生的信息")
def sho_stu():
for i in list:
print("""信息如下
学号:%s
姓名:%s
性别:%s
年龄:%s""" % (i["学号"], i["姓名"], i["性别"], i["年龄"]))
print("*" * 32)
python 04 学生信息管理系统的更多相关文章
- 1、纯python编写学生信息管理系统
1.效果图 2.python code: class studentSys(object): ''' _init_(self) 被称为类的构造函数或初始化方法, self 代表类的实例,self 在定 ...
- python之学生信息管理系统
1 #!usr/bin/python 2 #encoding=utf-8 3 4 #1. 打印学生管理系统界面 5 def printStd(): 6 print ("*"*50) ...
- Python基础案例练习:制作学生信息管理系统
一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...
- Python学生信息管理系统的开发
# 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...
- 【python免费代码】设计一个简单的学生信息管理系统
文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...
- python3 简陋的学生信息管理系统
# 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. ...
- 基于数组或链表的学生信息管理系统(小学期C语言程序实训)
1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...
- 基于数据库MySQL的简易学生信息管理系统
通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...
- C++ 简单的学生信息管理系统
// // main.cpp // 2013-7-17作业1 // // Created by 丁小未 on 13-7-17. // Copyright (c) 2013年 dingxiaowei. ...
随机推荐
- 聊聊Java并发面试问题之公平锁与非公平锁是啥?
一.什么是非公平锁? 先来聊聊非公平锁是啥,现在大家先回过头来看下面这张图. 如上图,现在线程1加了锁,然后线程2尝试加锁,失败后进入了等待队列,处于阻塞中.然后线程1释放了锁,准备来唤醒线程2重新尝 ...
- python 标准库大全
python 标准库 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 string ...
- 左耳朵耗子:我为什么要在极客时间 App 开设独家专栏?
参考链接:https://www.infoq.cn/article/2018/01/why-geektime 不少朋友都知道我在极客时间App 上开了一个收费专栏<左耳听风>,这个专栏会开 ...
- iOS bounds vs frame
斯坦福iOS开发课程的白胡子大叔的PPT解释得淋漓尽致!
- UWP 后台保存图片
在做UWP的时候,有一个需求,就是点击下载按钮,需要将当前页面中的Image控件中显示的图片保存下来. 既然聊到了下载图片,索性把添加图片也讲一下. 一:给Image控件添加图片 xaml代码: &l ...
- AtCoder Grand Contest 015 E - Mr.Aoki Incubator
题目传送门:https://agc015.contest.atcoder.jp/tasks/agc015_e 题目大意: 数轴上有\(N\)个点,每个点初始时在位置\(X_i\),以\(V_i\)的速 ...
- Hdu 1043 Eight (八数码问题)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1043 题目描述: 3*3的格子,填有1到8,8个数字,还有一个x,x可以上下左右移动,问最终能否移动 ...
- 关于BMP
关于BMP位图的资料网上有很多,内容也比较基础.本文实现BMP位图的读取.显示.保存,并对一些重要的问题进行说明(包括字节对齐.内存中的存储顺序.调色板). BMP文件共包括文件头.信息头.调色板(位 ...
- Python: How to iterate list in reverse order
#1 for index, val in enumerate(reversed(list)): print len(list) - index - 1, val #2 def reverse_enum ...
- Oracle apex 搭建
参考文档 : 百度文库 <Oracle ERP APEX开发指南 > APEX HOME: /oracle11g/product/11.2/apex/apex Oracle home: ...