python實現(xiàn)學(xué)生信息管理系統(tǒng)
繼上篇博客Python實現(xiàn)簡易通訊錄后,我就想寫一個復(fù)雜點的學(xué)生信息管理系統(tǒng),這次實現(xiàn)的功能有
1.學(xué)生信息的錄入管理;
2.學(xué)生選課操作;
3.學(xué)生選課情況查詢;
這次仍然用到sqlite3模塊。雖然看著挺簡單,但是也踩了不少坑,畢竟剛開始實戰(zhàn),有些細節(jié)的還需要多多磨煉??!
好了,廢話不多說,直接上代碼,歡迎感興趣的朋友私信討論~~~
#-*- coding:utf-8 -*- import sqlite3 #打開本地數(shù)據(jù)庫用于存儲用戶信息 conn = sqlite3.connect('student.db') #在該數(shù)據(jù)庫下創(chuàng)建學(xué)生信息表 conn.execute ('''CREATE TABLE StudentTable( ID INTEGER PRIMARY KEY AUTOINCREMENT, StuId INTEGER NOT NULL, NAME TEXT NOT NULL, CLASS INT NOT NULL);''') print "Table created successfully"; #在該數(shù)據(jù)庫下創(chuàng)建課程信息表 conn.execute ('''CREATE TABLE CourseTable( ID INTEGER PRIMARY KEY AUTOINCREMENT, CourseId INT NOT NULL, Name TEXT NOT NULL, Teacher TEXT NOT NULL, Classroom TEXT NOT NULL, StartTime CHAR(11) NOT NULL, EndTime CHAR(11) NOT NULL);''') print "Table created successfully"; #在該數(shù)據(jù)庫下創(chuàng)建選課情況信息表 conn.execute ('''CREATE TABLE XuankeTable( ID INTEGER PRIMARY KEY AUTOINCREMENT, StuId INT NOT NULL, CourseId INT NOT NULL, StudentNAME TEXT NULL, StudenCourse TEXT NULL);''') print "Table created successfully"; #以上三個表創(chuàng)建完后,再次運行程序時,需要把三個建表代碼注釋掉,否則會提示:該表已存在。即建表只需建一次。 def insert_stu(): #錄入學(xué)生信息 conn = sqlite3.connect('student.db') stu_id = input("請輸入學(xué)生學(xué)號:") cursor = conn.execute("SELECT StuId from StudentTable where StuId = '%s';"%stu_id) conn.commit() for row in cursor: if stu_id == row[0]: print "sorry,該學(xué)號已存在,請重新輸入" break else: stu_name = raw_input("請輸入學(xué)生姓名:") stu_class = input("請輸入學(xué)生班級:") sql1 = "INSERT INTO StudentTable(StuId,NAME,CLASS)" sql1 += " VALUES(%d,'%s',%d);"%(stu_id,stu_name,stu_class) conn.execute(sql1) conn.commit() print "恭喜你,學(xué)生錄入成功!" def xuanke(): #學(xué)生選課 stu_id = input('請輸入要選課的學(xué)生學(xué)號:') sql2 = "select StuId from StudentTable where StuId = %d;"%(stu_id) cursor1 = conn.execute(sql2) for row in cursor1: if stu_id == row[0]: sql3 = "select CourseId,Name,Teacher,Classroom, StartTime,EndTime from CourseTable" cursor2 = conn.execute(sql3) for row in cursor2: print "CourseId = ", row[0] print "Name = ", row[1] print "Teacher = ", row[2] print "Classroom = ",row[3] print "StartTime = ",row[4] print "EndTime = ",row[5], "\n" cou_id = input("請輸入要選的課程號:") sql = "select StuId from XuankeTable where CourseId = %d;"%(cou_id) cursor3= conn.execute(sql) for row in cursor3: if stu_id == row[0]: print "該課程已選,請重新輸入要選課程!" else: sql3 = "insert into XuankeTable (StuId,CourseId) values (%d,%d)"%(stu_id,cou_id) cursor4= conn.execute(sql3) conn.commit() print "恭喜你,選課成功!" break break break else: print "sorry,沒有該學(xué)生號" def stu_id_search():#按照學(xué)生學(xué)號查詢學(xué)生信息 conn = sqlite3.connect('student.db') search_stu_id = input("請輸入要查詢的學(xué)號:") sql4 = "SELECT StuId from StudentTable where StuId= %d;" % (search_stu_id) cursor1 = conn.execute(sql4) conn.commit() for row in cursor1: if search_stu_id == row[0]: sql10 = "select ID,StuId,NAME, CLASS from StudentTable where StuId = %d;"%(search_stu_id) cursor2 = conn.execute(sql10) conn.commit() for row in cursor2: print print "您要查詢的學(xué)生信息為:" print "ID = ", row[0] print "StuId = ", row[1] print "NAME = ", row[2] print "CLASS = ",row[3], "\n" break else: print "sorry,沒有該學(xué)生信息!" def stu_id_cou(): #按照學(xué)生學(xué)號查詢該學(xué)生所選課程 stu_id = input("請輸入要查詢學(xué)生號:") sql5 = "select StuId from StudentTable where StuId = %d;"%(stu_id) cursor = conn.execute(sql5) for row in cursor: if stu_id == row[0]: sql6 = "select CourseId from XuankeTable where StuId = %d;"%(stu_id) cursor = conn.execute(sql6) conn.commit() for row in cursor: print print "該學(xué)生所選課程號為:" print row print break else: print "sorry,沒有該學(xué)生選課信息!" def cou_id_search(): #按照課程號查詢課程信息 cou_id = input("請輸入要查詢的課程號:") sql7 = "select CourseId ,Name,Teacher,Classroom,StartTime,EndTime from CourseTable " sql7 += "where CourseId = %d;"%(cou_id) cursor1 = conn.execute(sql7) conn.commit() for row in cursor1: print "您要查詢的課程信息為:" print "CourseId = ",row[0] print "Name = ", row[1] print "Teacher = ", row[2] print "Classroom = ",row[3] print "StartTime = " ,row[4] print "EndTime = ",row[5],"\n" break else: print "sorry,沒有該課程信息!" def cou_id_stu():#按照課程號查詢選擇該課程的學(xué)生列表 cou_id = input('請輸入課程號:') sql8 = "select CourseId from XuankeTable where CourseId =%d;"%(cou_id) cursor1 = conn.execute(sql8) for row in cursor1: if cou_id == row[0]: sql9 = "select StuId from XuankeTable where CourseId =%d;"%(cou_id) cursor2 = conn.execute(sql9) conn.commit() for row in cursor2: print print "選擇該課程的學(xué)生為:" print row,"\n" break break else: print "sorry,沒有該課程信息!" def menu(): print '1.進入學(xué)生信息系統(tǒng)(學(xué)生信息錄入)' print '2.進入學(xué)生選課系統(tǒng)(學(xué)生選課操作)' print '3.進入學(xué)生選課信息系統(tǒng)(學(xué)生信息查詢和選課情況查詢)' print '4.退出程序' def student(): print '1.錄入學(xué)生信息' print '2.返回主菜單' print '3.退出程序' def Course(): print '1.開始選課' print '2.返回主菜單' print '3.退出程序' def information(): print '1.按學(xué)號查詢學(xué)生信息' print '2.按學(xué)號查看學(xué)生選課課程列表' print '3.按課程號查看課程信息' print '4.按課程號查看選課學(xué)生列表' print '5.返回主菜單' print '6.退出程序' while True: menu() print x = raw_input('請輸入您的選擇菜單號:') if x == '1': #進入學(xué)生信息系統(tǒng) student() stu = raw_input('您已進入學(xué)生錄入系統(tǒng),請再次輸入選擇菜單:') if stu == '1': insert_stu() continue if stu == '2': menu() continue if stu == '3': print "謝謝使用!" exit() continue else: print "輸入的選項不存在,請重新輸入!" continue if x == '2': #進入選課信息系統(tǒng) Course() cou = raw_input('您已進入學(xué)生選課系統(tǒng),請再次輸入選擇菜單:') if cou == '1': xuanke() continue if cou == '2': menu() continue if cou == '3': print "謝謝使用!" exit() continue else: print "輸入的選項不存在,請重新輸入!" continue if x == '3': #進入學(xué)生選課信息表 information() inf = raw_input('您已進入學(xué)生選課信息系統(tǒng),請再次輸入選擇菜單:') if inf == '1': stu_id_search() continue if inf == '2': stu_id_cou() continue if inf == '3': cou_id_search() continue if inf == '4': cou_id_stu() continue if inf == '5': menu() continue if inf == '6': print "謝謝使用!" exit() continue else: print "輸入的選項不存在,請重新輸入!" continue if x == '4': print "謝謝使用!" exit() else: print "輸入的選項不存在,請重新輸入!" continue
更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python學(xué)生信息管理系統(tǒng)(完整版)
- Python實現(xiàn)GUI學(xué)生信息管理系統(tǒng)
- python實現(xiàn)簡易學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實現(xiàn)代碼
- python實現(xiàn)簡單學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)(初級版)
- python學(xué)生信息管理系統(tǒng)實現(xiàn)代碼
- python代碼實現(xiàn)學(xué)生信息管理系統(tǒng)
- Python結(jié)合MySQL數(shù)據(jù)庫編寫簡單信息管理系統(tǒng)完整實例
相關(guān)文章
pytorch更新tensor中指定index位置的值scatter_add_問題
這篇文章主要介紹了pytorch更新tensor中指定index位置的值scatter_add_問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06pymongo實現(xiàn)多結(jié)果進行多列排序的方法
這篇文章主要介紹了pymongo實現(xiàn)多結(jié)果進行多列排序的方法,涉及Python排序的相關(guān)技巧,需要的朋友可以參考下2015-05-05解決tensorflow讀取本地MNITS_data失敗的原因
這篇文章主要介紹了解決tensorflow讀取本地MNITS_data失敗的原因,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python實現(xiàn)列表轉(zhuǎn)Excel表格的第一列
這篇文章主要為大家詳細介紹了如何將Python中的列表轉(zhuǎn)換為Excel表格的第一列,并通過案例和代碼展示具體的操作步驟,希望可以幫助大家快速掌握這一技能2024-04-04Python?虛擬機集合set實現(xiàn)原理及源碼解析
這篇文章主要為大家介紹了Python?虛擬機集合set實現(xiàn)原理及源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03對python操作kafka寫入json數(shù)據(jù)的簡單demo分享
今天小編就為大家分享一篇對python操作kafka寫入json數(shù)據(jù)的簡單demo,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python使用socketServer包搭建簡易服務(wù)器過程詳解
這篇文章主要介紹了Python使用socketServer包搭建簡易服務(wù)器過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06Django-xadmin后臺導(dǎo)入json數(shù)據(jù)及后臺顯示信息圖標和主題更改方式
這篇文章主要介紹了Django-xadmin后臺導(dǎo)入json數(shù)據(jù)及后臺顯示信息圖標和主題更改方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03