python学生管理系统代码_用python写学生管理系统

python学生管理系统代码_用python写学生管理系统这几天开始接触了python语言,这语言相对c语言简洁了不少,语言真是一通百通,学起来还是比较轻松,在熟悉了基本语法,列表(序列),元组以及字典之后写了一个最基础简单的的学生管理系统能完成的功能有:学生管理系统 v1.0 1.添加学生的信息 2.删除学生的信息 3.修改学生的信息 4.查询学生的信息 5.遍历所有学生的信息 6.退出系统学生信息中,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

这几天开始接触了python语言,这语言相对c语言简洁了不少,语言真是一通百通,学起来还是比较轻松,在熟悉了基本语法,列表(序列),元组以及字典之后写了一个最基础简单的的学生管理系统

能完成的功能有:

学生管理系统  v1.0
 1.添加学生的信息
 2.删除学生的信息
 3.修改学生的信息
 4.查询学生的信息
 5.遍历所有学生的信息
 6.退出系统


学生信息中,学号是唯一的,所以进行删除,修改,查询都会有学号的唯一的检测

1.框架显示以及添加学生的功能

python学生管理系统代码_用python写学生管理系统

2.添加两个学生之后,进行显示功能

python学生管理系统代码_用python写学生管理系统

3.删除功能,以及其他也都有学号唯一检测功能!

python学生管理系统代码_用python写学生管理系统

4.修改信息功能

python学生管理系统代码_用python写学生管理系统

5.查询信息以及退出界面

python学生管理系统代码_用python写学生管理系统



接下来是代码

#encoding utf=8
#定义一个函数,显示可以使用的功能列表给用户
def showInfo():
    print("-"*30)
    print("     学生管理系统  v1.0")
    print(" 1.添加学生的信息")
    print(" 2.删除学生的信息")
    print(" 3.修改学生的信息")
    print(" 4.查询学生的信息")
    print(" 5.遍历所有学生的信息")
    print(" 6.退出系统")
    print( '-'*30)

#定义一个列表,用来存储多个学生的信息
students=[]


while True:
    #把功能列表进行显示给用户
    showInfo()

    #提示用户选择功能
    #获取用户选择的功能
    key = int(input("请选择功能(序号):"))

    #根据用户选择,完成相应功能
    if key == 1:
        print("您选择了添加学生信息功能")
        name = input("请输入学生姓名:")
        stuId = input("请输入学生学号(学号不可重复):")
        age = input("请输入学生年龄:")

        #验证学号是否唯一
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == stuId:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 1:
            print("输入学生学号重复,添加失败!")
            break
        else:
            # 定义一个字典,存放单个学生信息
            stuInfo = {}
            stuInfo['name'] = name
            stuInfo['id'] = stuId
            stuInfo['age'] = age

            # 单个学生信息放入列表
            students.append(stuInfo)
            print("添加成功!")

    elif key == 2:
        print("您选择了删除学生功能")
        delId=input("请输入要删除的学生学号:")
        #i记录要删除的下标,leap为标志位,如果找到leap=1,否则为0
        i = 0
        leap = 0
        for temp in students:
           if temp['id'] == delId:
                leap = 1
                break
           else:
               i=i+1
        if leap == 0:
            print("没有此学生学号,删除失败!")
        else:
            del students[i]
            print("删除成功!")


    elif key == 3:
        print("您选择了修改学生信息功能")
        alterId=input("请输入你要修改学生的学号:")
        #检测是否有此学号,然后进行修改信息
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == alterId:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 1:
            while True:
                alterNum=int(input(" 1.修改学号\n 2.修改姓名 \n 3.修改年龄 \n 4.退出修改\n"))
                if alterNum == 1:
                    newId=input("输入更改后的学号:")
                    #修改后的学号要验证是否唯一
                    i = 0
                    leap1 = 0
                    for temp1 in students:
                        if temp1['id'] == newId:
                            leap1 = 1
                            break
                        else:
                            i = i + 1
                    if leap1 == 1:
                        print("输入学号不可重复,修改失败!")
                    else:
                        temp['id']=newId
                        print("学号修改成功")
                elif alterNum == 2:
                    newName=input("输入更改后的姓名:")
                    temp['name'] = newName
                    print("姓名修改成功")
                elif alterNum == 3:
                    newAge=input("输入更改后的年龄:")
                    temp['age'] = newAge
                    print("年龄修改成功")
                elif alterNum == 4:
                    break
                else:
                    print("输入错误请重新输入")
        else:
            print("没有此学号,修改失败!")
    elif key == 4:
        print("您选择了查询学生信息功能")
        searchID=input("请输入你要查询学生的学号:")
        #验证是否有此学号
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == searchID:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 0:
            print("没有此学生学号,查询失败!")
        else:
            print("找到此学生,信息如下:")
            print("学号:%s\n姓名:%s\n年龄:%s\n"%(temp['id'],temp['name'],temp['age']))
    elif key == 5:
        #遍历并输出所有学生的信息
        print('*'*20)
        print("接下来进行遍历所有的学生信息...")
        print("id      姓名         年龄")
        for temp in students:
            print("%s     %s     %s"%(temp['id'],temp['name'],temp['age']))
        print("*"*20)
    elif key == 6:
        #退出功能,尽量往不退出的方向引
        quitconfirm = input("亲,真的要退出么 (yes或者no)??~~(>_<)~~??")
        if quitconfirm == 'yes':
            print("欢迎使用本系统,谢谢")
            break;
    else:
        print("您输入有误,请重新输入")

一些功能模块在后续会做成函数调用的方式,可以使程序看起来更加简洁,谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191582.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • SQL存储过程之更新[通俗易懂]

    SQL存储过程之更新[通俗易懂]—添加存储过程USETestDBGOifOBJECT_ID(‘UpdataStudent’,‘P’)ISNOTNULLDropProcedureUpdataStudentgoCreateProcedureUpdataStudent@SN0INT,@SNameCHAR(10),@GenderCHAR(2),@BirthdayDATETIME,@MobileCHAR(20),@EmailCHAR(100),@HomeAddressCHAR(100),@P

  • onedrive无限容量_onedrive家庭版扩容5t

    onedrive无限容量_onedrive家庭版扩容5t由于百度网盘的限速,不得已开始捣鼓微软的OneDrive网盘。相对于百度网盘,Onedrive最大的优势是不限速,速度也是难得的友好。相对于百度网盘,Onedrive最大的劣势是空间大小,个人用户注册仅有5G。曾经无数次因为这么小的空间而望而却步,只能硬着头皮给百度交钱。最近无意间发现了Onedrive的空间可以很大,最大的竟然达到了5T。原来Onedrive的5T版本已经流行…

  • 【C】C语言文件(包括:文件各种读写方式)「建议收藏」

    【C】C语言文件(包括:文件各种读写方式)「建议收藏」文件概述文件是指存储在外部存储器上的数据集合。更准确的来说,文件就是一组相关元素或数据的有序集合,而且每个集合都有一个符号化的指代,称这个符号化的指代为文件名。文件类型根据文件在外部存储器上的组织形式,文件可以分为ASCII文件和二进制文件。ASCII文件(文本文件):以字符的方式进行存储,一个字符对应一个ASCII码,而一个ASCII码占用1字节。例如:整数12在内存中占用4个字…

  • 阿里巴巴复杂搜索系统的可靠性优化之路[通俗易懂]

    阿里巴巴复杂搜索系统的可靠性优化之路[通俗易懂]阿里巴巴复杂搜索系统的可靠性优化之路

  • 驼峰命名转换_大驼峰命名法

    驼峰命名转换_大驼峰命名法以前没有写过项目时为了防止出错,数据库和实体类里的变量都统一设置一模一样后来才知道规范的都是使用驼峰命名转换统一设置例如:在xml里配置全局属性<configuration><!–配置全局属性–><settings><!–使用jdbc的getGeneratedKeys获取数据库自增主键值–>…

    2022年10月26日
  • 网站检测空链、死链工具(Xenu)

    网站检测空链、死链工具(Xenu)网站常用检测空链、死链工具网站的链接一般都成千上万,如果存在大量的空链接将大大的影响用户体验,怎样有效检测无效链接。下面是比较常用的几种简单工具。一、Xenu(Xenu’sLinkSleuth)1、文件→检测网址,打开如下图,输入根网址,点击确定即可。如果想检测本地html文件可点击本地文件然后导入。2、点击确定,开始自…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号