正文
<每日一题>题目7:简单的学生管理系统V1.0
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
'''
# 学生管理系统v1.0
# 添加学生的信息
# 删除学生的信息
# 修改学生的信息
# 查看学生的信息
#遍历学生的信息
#退出系统
'''
import json
#1 显示操作功能
def showinfo():
print('*'*40)
print("\t 欢迎使用学生管理系统V1.0")
print("1.添加学生的信息")
print("2.删除学生的信息")
print("3.修改学生的信息")
print("4.查询学生的信息")
print("5.遍历所有学生的信息")
print("6.退出系统")
print('*' * 40) students = [] def add_student():
print("您选择了添加学生信息功能!")
ID = input("请输入学生学号:")
name = input("请输入学生姓名:")
age = input("请输入学生年龄:")
sex = input("请输入学生性别:")
if len(students) == 0:
stu_info = {}
stu_info["ID"] = ID
stu_info["name"] = name
stu_info["age"] = age
stu_info["sex"] = sex
students.append(stu_info)
print("学生%s添加成功" % stu_info)
else:
for i in students:
if i["ID"] == ID:
print("学号重复,请查询后在进行添加!")
break
else:
stu_info = {}
stu_info["ID"] = ID
stu_info["name"] = name
stu_info["age"] = age
stu_info["sex"] = sex
students.append(stu_info)
print("学生%s添加成功"%stu_info)
save_students()
main() def alter_student():
print("欢迎使用修改学生信息功能!")
ID = input("请输入需要修改学生的学号:")
leap = 0
for i in students:
if i["ID"] == ID:
alter_ID = input("请输入修改后的学号:")
for i in students:
if i["ID"] == alter_ID:
print("学号重复,请查询后在进行修改!")
leap = 1
break
if leap != 1:
alter_name = input("请输入修改后的名字:")
alter_sex = input("请输入修改后的性别:")
alter_age = input("请输入修改后的年龄:")
i["ID"] = alter_ID
i["name"] = alter_name
i["age"] = alter_age
i["sex"] = alter_sex
save_students()
else:
print("查无此人,请查询后在进行修改!")
break
main() def del_student():
print("您选择了删除学生信息功能!")
ID = input("请输入需要删除学生的学号:")
for i in students:
if i['ID'] == ID:
print("学生%s删除成功"%i)
del students[students.index(i)]
save_students()
break
else:
print("输入的学号有误,请查询后重试!")
main() def inquire_student():
print("欢迎使用学生查询功能:")
inquire_ID = input("请输入查询学生学号:")
for i in students:
if i["ID"] == inquire_ID:
print('查询学生信息如下',end="\n")
print("学号:%s\t姓名:%s\t年龄:%s\t性别:%s"%(i["ID"],i["name"],i["age"],i["sex"]))
else:
print("查无此人")
main() def exit_student():
print("真的要退出么?")
demo = str(input("输入yes退出,输入no不退出:"))
demo=demo.lower()
if demo == "yes":
return
elif demo == "no":
main()
else:
print("输入有误,重新输入")
exit_student() def show_student():
print("欢迎使用遍历学生的信息功能")
for i in students:
print("学号:%s\t姓名:%s\t年龄:%s\t性别:%s" % (i["ID"], i["name"], i["age"], i["sex"]))
main() def select(key):
if key == 1:
add_student()
elif key == 2:
del_student()
elif key == 3:
alter_student()
elif key == 4:
inquire_student()
elif key == 5:
show_student()
elif key == 6:
exit_student()
else:
print("输入有误,请重新输入!") def save_students():
file = json.dumps(students,ensure_ascii=False)
with open('students.txt','w+',encoding='utf-8') as f:
f.write(file) def main():
showinfo()
key = int(input("请选择您要进行的操作(序号):"))
select(key) if __name__ == '__main__':
main()
运行结果:
<每日一题>题目7:简单的学生管理系统V1.0的更多相关文章
-
<每日一题>题目16:简单的python练习题(1-10)
#1.python程序中__name__的作用是什么? __name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用), ...
-
<每日一题>题目1:简单的注册和登录1.0
#版本1.0,最基本的注册登录'''1.注册,将账号和密码分别写在不同的文档里面2.登录,分别从账户文档和密码文档进行读取并登录''' #注册 Identity = input("请输入您想 ...
-
Python连接SqlServer+GUI嵌入式——学生管理系统1.0
学生管理系统1.0 1.建学生数据库 2.数据库嵌入高级语言(Python) 3.界面设计 简化思路: 1.先通过SqlServer2012建立学生数据库,包括账号.密码,姓名.选课等信息 2.运用P ...
-
php实现简单的学生管理系统
php实现学生管理系统 一.效果 二.代码框架 functions文件夹里面是封装的mysqli的数据库操作函数和一个跳转的函数 student文件夹里面就是学生管理系统的主界面 applicatio ...
-
Java实现功能简单的学生管理系统(附带源代码)
这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子,代码中的功能简洁,可能不多,但是作为一个练手来了解一个项目是怎么样一点一点思考的还是不错的 一.代码中要实现的功能 ...
-
面向对象案例 - 学生信息管理系统V1.0
学生管理系统项目[所有知识点整合] 1. 学生管理系统项目 尝试完成以下功能 实体类: 学生类: id, 姓名,年龄,性别,成绩 需要使用数组保存学生信息 Student[] allStu 需要完成的 ...
-
<每日一题>题目21:简单的python练习题(21-30)
#21.cookie和session的区别 ''' 1.cookie数据存放在客户的浏览器上,session数据存放在服务器上 2.cookie不是很安全,可以通过分析本地cookie组成伪造cook ...
-
<每日一题>题目20:简单python练习题(11-20)
#11.编写程序,输入一个自然数,输出它的二进制.八进制.十六进制表示形式 Num = input("请输入任性自然数:") Num = eval(Num) print(" ...
-
<每日一题>题目12:列表解析及zip、dict函数的简单应用
''' 分析: 1.列表解析:迭代机制的一种应用 语法: [expression for iter_val in iterable] [expression for iter_val in itera ...
随机推荐
-
arm-linux-copydump 的使用
生成可以执行的 2 进制代码 [arm@localhost gcc]#armlinuxcopydump O binary hello hello.bin
-
关于VSCode的一些常用插件和一些常用设置
常用插件: .Beautify :格式化 html ,js,css .Bracket Pair Colorizer :给括号加上不同的颜色,便于区分不同的区块,使用者可以定义不同括号类型和不同颜色 . ...
-
搜索框下面显示提示数据(数据是ajax读取)
1.前台页面 <div style="margin: 0 auto"> <input type="text" id="wenxian ...
-
c_ 数据结构_图_邻接矩阵
程序主要实现了图的深度遍历和广度遍历. #include <stdio.h> #include <stdlib.h> #include <string.h> #de ...
-
delphi 用户可以点击格式修改进行模板修改
过程 TlistRepAdd.Btn_GCListRepEditClick窗口 TlistRepAdd 补打流程单 1. 给用户权限 呈现出格式修改按钮 procedure TlistRepAdd.B ...
-
thinkphp 模板继承
模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区 ...
-
(转)ActiveMQ 使用场景
转:http://306963591.iteye.com/blog/1044166 ActiveMQ 安装测试就不做介绍了,下面我说说ActiveMQ 使用场景. 1.非均匀应用集成 ActiveMQ ...
-
Windos DNS Client 缓存
要查看 DNS 缓存,请在命令提示符下键入 ipconfig /displaydns. 要从 DNS 缓存中删除该项,请在命令提示符下键入 ipconfig /flushdns. ipconfig.e ...
-
获取一个数组(vector)与查找值(value)的差最小绝对值的成员索引的算法
代码如下: 函数作用:传递进来一个数组(vector),和一个需要查找的值(value),返回与value的差值绝对值最小的vector成员索引,若value不在vector范围中,则返回-1: in ...
-
error LNK1104: 无法打开文件“C:\Users\Administrator\Desktop\....\\xxxx.exe”
1.错误原因:项目在在打开前已经打开了win32里面的程序,并且运行. 解决方法:关闭直接在win32中运行的程序,再点击调试 2.暂时不知道原因,打开程序还会报无权限创建可执行文件.如下图所示 解 ...
#1.python程序中__name__的作用是什么? __name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用), ...
#版本1.0,最基本的注册登录'''1.注册,将账号和密码分别写在不同的文档里面2.登录,分别从账户文档和密码文档进行读取并登录''' #注册 Identity = input("请输入您想 ...
学生管理系统1.0 1.建学生数据库 2.数据库嵌入高级语言(Python) 3.界面设计 简化思路: 1.先通过SqlServer2012建立学生数据库,包括账号.密码,姓名.选课等信息 2.运用P ...
php实现学生管理系统 一.效果 二.代码框架 functions文件夹里面是封装的mysqli的数据库操作函数和一个跳转的函数 student文件夹里面就是学生管理系统的主界面 applicatio ...
这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子,代码中的功能简洁,可能不多,但是作为一个练手来了解一个项目是怎么样一点一点思考的还是不错的 一.代码中要实现的功能 ...
学生管理系统项目[所有知识点整合] 1. 学生管理系统项目 尝试完成以下功能 实体类: 学生类: id, 姓名,年龄,性别,成绩 需要使用数组保存学生信息 Student[] allStu 需要完成的 ...
#21.cookie和session的区别 ''' 1.cookie数据存放在客户的浏览器上,session数据存放在服务器上 2.cookie不是很安全,可以通过分析本地cookie组成伪造cook ...
#11.编写程序,输入一个自然数,输出它的二进制.八进制.十六进制表示形式 Num = input("请输入任性自然数:") Num = eval(Num) print(" ...
''' 分析: 1.列表解析:迭代机制的一种应用 语法: [expression for iter_val in iterable] [expression for iter_val in itera ...
-
arm-linux-copydump 的使用
生成可以执行的 2 进制代码 [arm@localhost gcc]#armlinuxcopydump O binary hello hello.bin
-
关于VSCode的一些常用插件和一些常用设置
常用插件: .Beautify :格式化 html ,js,css .Bracket Pair Colorizer :给括号加上不同的颜色,便于区分不同的区块,使用者可以定义不同括号类型和不同颜色 . ...
-
搜索框下面显示提示数据(数据是ajax读取)
1.前台页面 <div style="margin: 0 auto"> <input type="text" id="wenxian ...
-
c_ 数据结构_图_邻接矩阵
程序主要实现了图的深度遍历和广度遍历. #include <stdio.h> #include <stdlib.h> #include <string.h> #de ...
-
delphi 用户可以点击格式修改进行模板修改
过程 TlistRepAdd.Btn_GCListRepEditClick窗口 TlistRepAdd 补打流程单 1. 给用户权限 呈现出格式修改按钮 procedure TlistRepAdd.B ...
-
thinkphp 模板继承
模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区 ...
-
(转)ActiveMQ 使用场景
转:http://306963591.iteye.com/blog/1044166 ActiveMQ 安装测试就不做介绍了,下面我说说ActiveMQ 使用场景. 1.非均匀应用集成 ActiveMQ ...
-
Windos DNS Client 缓存
要查看 DNS 缓存,请在命令提示符下键入 ipconfig /displaydns. 要从 DNS 缓存中删除该项,请在命令提示符下键入 ipconfig /flushdns. ipconfig.e ...
-
获取一个数组(vector)与查找值(value)的差最小绝对值的成员索引的算法
代码如下: 函数作用:传递进来一个数组(vector),和一个需要查找的值(value),返回与value的差值绝对值最小的vector成员索引,若value不在vector范围中,则返回-1: in ...
-
error LNK1104: 无法打开文件“C:\Users\Administrator\Desktop\....\\xxxx.exe”
1.错误原因:项目在在打开前已经打开了win32里面的程序,并且运行. 解决方法:关闭直接在win32中运行的程序,再点击调试 2.暂时不知道原因,打开程序还会报无权限创建可执行文件.如下图所示 解 ...