#该程序在设计返回值时用了flag(标志)和i(标识下标);

#之前在travers()函数的编写中for循环中缺少一个return导致在传递参数时会有错误:

# 主要体现在修改和删除首个元素时!值得警醒

students = []

name = ""

sex = ""

stuID = ""

def traverse(num):

flag = 0

i=-1

for i in range(len(students)):

if students[i]['stuID'] == num:

flag = 1

return flag,i

return flag,i

def selectStu():

stunum = input("请输入要查询学生的学号:")

f,n=traverse(stunum)

if f==1:

print("该同学存在")

else:

print("没有此同学,查询失败!")

print()

return f ,n

def insertStu():

global name

global sex

global stuID

number = input("请输入学生学号:")

f,n=traverse(number)

if f == 1:

print("该同学存在,无需添加")

if f == 0:

inform = {}

name = input("请输入学生姓名:")

sex = input("请输入学生性别:")

inform['name'] = name

inform['sex'] = sex

inform['stuID'] = number

students.append(inform)

print("学生添加成功!")

print()

def deleteStu():

n ,m = selectStu()

if n == 1:

students.remove(students[m])

if n == 0:

print("没有此学生,删除失败!")

else:

print("删除成功!")

print()

def editStu():

n ,m = selectStu()

if n == 1:

while True:

num = input("请选择——1.修改姓名 2.修改性别 3.修改学号 4.退出修改 ")

if num == '1':

newname = input("输入更改后的姓名:")

students[m]['name'] = newname

elif num == '2':

newsex = input("输入更改后的性别:")

students[m]['sex'] = newsex

elif num == '3':

newID = input("输入更改后的学号:")

students[m]['stuID'] = newID

elif num == '4':

break

else:

print("输入错误,重新输入")

print("修改成功!")

else:

print("没有此学生,修改失败!")

def display():

print("学生的信息如下:")

print("学号 姓名 性别")

for temp in students:

print("%4s %4s %4s " % (temp['stuID'], temp['name'], temp['sex']))

print()

def quit():

print("即将退出系统")

print()

def menu():

print("****学生管理系统****")

print("1.添加学生信息")

print("2.查询学生信息")

print("3.删除学生信息")

print("4.修改学生信息")

print("5.显示学生信息")

print("6.退出系统")

def main():

while True:

menu()

key = input("请输入选择操作的序号:")

if key == '1':

insertStu()

elif key == '2':

selectStu()

elif key == '3':

deleteStu()

elif key == '4':

editStu()

elif key == '5':

display()

elif key == '6':

quit()

break

else:

print("操作错误!请重新输入")

main()

python写学生系统-用python编写学生管理系统相关推荐

  1. python写一个系统-使用Python写一个量化股票提醒系统

    大家在没有阅读本文之前先看下python的基本概念, Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开 ...

  2. python写的系统常用命令(二)

    python写的系统常用命令,linux和windows通用,用的时候直接from util import *导入即可使用,很方便 #!/usr/bin/python # -*- coding: ut ...

  3. python写一个系统-熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的非常甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!但是突然想起年初还有几万块在股市里面 ...

  4. python如何在没有环境的电脑上执行_没安装python的电脑可以运行python写的程序吗 python语言编写的程...

    py2exe 能够把 Python script 转换成可以在windows上独立执行的(即不需安装Python)的exe程序(加上其它必需的运行时函数库). -- 摘自百度知道 py2exe能够把P ...

  5. python写炒股软件_使用Python写一个量化股票提醒系统

    大家在没有阅读本文之前先看下python的基本概念, Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开 ...

  6. python写金字塔_金字塔python开发手册

    python API 基本方法 编写策略过程中所需要使用的基本函数.其中init和handle_bar是必须实现的两个方法,其余是可选择实现的方法. init (必须实现) init(context) ...

  7. python写游戏脚本-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  8. python写脚本入门-学习Python的教程?:python 脚本菜鸟教程

    学习Python的教程? Python作为一门面向对象的性语言,其实它的学习也很简单 - 配置 - Python基础(语法..数据类型.高级变量.函数.Python高级特性) - 面向对象编程.面向对 ...

  9. python 搭建登陆系统,用Python连接操作MySQL数据库,做一个简单的用户登录注册系统...

    我们可以很容易地用Python实现一个用户登录系统,相信这即使是对编程新手来说也是小菜一碟. 作为Python的小萌新,今天我想记录下来的是如何实现一个连接了MySQL数据库的用户登录注册系统,它的效 ...

最新文章

  1. MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复)
  2. linux php ftp扩展,Linux中如何安装 PHP 扩展?(方法介绍)
  3. Java学习之if---elif语句
  4. LeetCode每日一题 141. 环形链表
  5. ipv4地址是几位二进制数_几张思维导图,让你清楚的知道ip地址怎么回事?
  6. JavaScript | 声明数组并使用数组索引分配元素的代码
  7. eclipse调试java web_eclipse调试web项目
  8. TCP UDP 套接字
  9. EditText属性输入框Kotlin.Android
  10. ppt 母板 如何修改你的背景图片
  11. 微信小程序:获取验证码
  12. WHOIS查询检索,域名信息查询工具软件
  13. NGUI|如何做出用鼠标滚动切换武器的效果
  14. Joel 技术分享心得
  15. msvcr120.dll丢失怎样修复?msvcr120.dll文件修复方法
  16. 搜索引擎营销的基本概念和特点是什么?
  17. 图片横向滚动js代码
  18. 英语翻译app推荐哪个?分享三个翻译工具
  19. 33复杂美:一文看懂加密算法为何物
  20. 树莓派系统配置-raspi-config

热门文章

  1. STM32F103C8T6 CAN通信详解
  2. 【精品】【分享】盖茨留给职场工作者的十句警告
  3. 为了今年印象最深刻的唱片,转演唱会消息一个,虽然我去不了 55555
  4. [NOIP2009] 最优贸易 (最短路,分层图)
  5. nginx实现负载均衡
  6. SpringMVC上传文件以流方式判断类型附常用类型
  7. Android Activity和Fragment的转场动画
  8. python语言程序设计西安电子科技大学答案-徐悦甡 | 个人信息 | 西安电子科技大学个人主页...
  9. 不是python中用于开发用户界面的第三方库-Python三方库:wxPython(GUI图形用户界面)...
  10. python语言程序设计2019版第二章课后答案-《python语言程序设计》_第二章编程题...