栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

学生信息管理项目(简单)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学生信息管理项目(简单)

  • ②图要求用c语言写此项目,那我就巩固一下我的python吧!首先,我在mysql中创建了stuinfo表,如①图所示,然后通过python中的pysql模块进行连接:
  • import pymysql 
    
    #利用pymysql连接mysql数据库
    db=pymysql.connect(host='localhost',user='root',password='999521',port=3306,db='school')
    cur=db.cursor()

1.加入一个学生的记录:
#1.增加一条学生信息
def add():
    Id=input("请输入学号")
    name=input("请输入名字")
    bedroom=input("请输入宿舍房间号")
    qq=input("请输入qq号")
    tel=input("请输入手机号")
    sql='''insert into stuinfo values(%s,%s,%s,%s,%s)'''
    cur.execute(sql,(Id,name,bedroom,qq,tel))
    db.commit()
2.删除一个学生的记录
#2.删除一条学生信息
def remove():
    Id=input("请输入要删除的学生的idn")
    sql='''delete from stuinfo where stuId=%s '''
    cur.execute(sql,(Id))
    db.commit()
3.显示所有的学生的记录
#3.显示所有学生信息
def showall():
    sql='''select * from stuinfo'''
    cur.execute(sql)
    data=cur.fetchall()
    for i in data:
        print('学号:',i[0],'名字:',i[1],'宿舍房间号:',i[2],'qq:',i[3],'手机号:',i[4])
    is_save=input("是否对以上数据进行保存?(是否)n")
    if is_save=='是':
        save_file(data)
    else:
        print('      ')
        cur.close()
4.排序功能,包括按照学号排序和按照姓名字母序排序显示所有的同学的记录
#4.根据stuId或name进行排序
def orderstyle():
    ordercol=input("请输入一个排序列: nstuId或name")
    asc_desc=input("请输入排序方式: nasc或desc")
    sql='''select * from stuinfo order by %s %s'''%(ordercol,asc_desc)    #对输入的内容进行调用格式化排序
    cur.execute(sql)
    data=cur.fetchall()
    for i in data:
        print('学号:',i[0],'名字:',i[1],'宿舍房间号:',i[2],'qq:',i[3],'手机号:',i[4])
5.查询功能,包括按学号查询同学的信息或者其他
#5.按学号查询学生的信息或者其他
def select_where():
    where=input("请选择你要按什么进行查询: n1.stuId 2.其他n")
    if where=='1':
        stuId=input('请输入你要查询的stuIdn')
        sql='''select * from stuinfo  where stuId=%s'''%stuId
        cur.execute(sql)
        data=cur.fetchall()
        for i in data:
            print('学号:',i[0],'名字:',i[1],'宿舍房间号:',i[2],'qq:',i[3],'手机号:',i[4])
            save_file(i)
        cur.close()   
    else:
        select=input("请选择你要按什么查询: n name bedroom qq teln")
        whe=input('请输入你要按%s查询的条件:'%select)
        sql='''select * from stuinfo where %s=%s'''%(select,''%s''%whe)    #对输入的内容必须加‘’,sql语言才会进行条件判断
        cur.execute(sql)
        data=cur.fetchall()
        for i in data:
            print('学号:',i[0],'名字:',i[1],'宿舍房间号:',i[2],'qq:',i[3],'手机号:',i[4])
            save_file(i)
        cur.close()
6.修改功能
#6.修改功能,按照任意列
def update():
    col=input("请输入要修改的col名: nstuId name bedroom qq teln")
    lastInfo=input("请输入修改后的内容")      #修改后的内容
    whereCol=input("请选择一个条件列: nstuId name bedroom qq teln")#条件列
    whereInfo=input("请输入条件列的判断条件:n")#条件内容
    sql='''update stuinfo set %s=%s where %s=%s'''%(col,''%s''%lastInfo,whereCol,''%s''%whereInfo)
    cur.execute(sql)
    db.commit()
7.保存信息到文件
#7.保持为文件
import numpy as np
def save_file(x):
    L=np.array(x).ndim         #获取传入的数组的维度ndim()
    if L==1:                   #如果为1D则转成2D,以防执行下列语句时把数据写到同一列
        a=np.array([['%s,%s,%s,%s,%s'%(x[0],x[1],x[2],x[3],x[4])]])
        np.savetxt('C:\Users\Administrator\Desktop\aa.csv',a,header='id,name,bedroom,qq,tel',delimiter=',',fmt='%s',comments="#")
    else:      #否则为2D,代码实现中只出现了1D和2D,所以就写了双分支语句
        np.savetxt('C:\Users\Administrator\Desktop\aa.csv',x,header='id,name,bedroom,qq,tel',delimiter=',',fmt='%s',comments="#")
8.查看文件内容
#8.查看文件内容
def show_file():
    def load_file():
        id,name,bedrom,qq,tel=np.loadtxt('C:\Users\Administrator\Desktop\aa.csv',usecols=(0,1,2,3,4),
        delimiter=",",unpack=True,dtype='i,O,O,O,O')
        return id,name,bedrom,qq,tel
    id,name,bedroom,qq,tel=load_file()
    for i in range(len(id)):
        print('学号:',id[i],'名字:',name[i],'宿舍房间号:',bedroom[i],'qq:',qq[i],'手机号:',tel[i])
9.搭建项目框架
#搭建项目框架,文字选择界面
def project():
    r=input('请从下列菜单中选择一个操作序号:n 1.添加一条学生记录 n 2.删除一条学生记录 n 3.显示所有学生记录 n 4.根据stuId或name进行
排序 n 5.按学号或其他进行查找学生记录 n 6.修改学生记录 n')
    if r=='1':
        add()
    elif r=='2':
        remove()
    elif r=='3':
        showall()
    elif r=='4':
        orderstyle()
    elif r=='5':
        select_where()
    elif r=='6':
        update()
    else:
        print('你输错操作信息了!')

#以上只是利用对现在所学的理解,对该项目做了一个简单的了解,希望通过今后所学对此项目有一个更完善的界面化管理,做到清晰,美观,更加完善。你们也要加油呀! ! !

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657363.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号