最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

 更新時(shí)間:2020年04月05日 07:56:10   作者:MTbaby  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

繼上篇博客Python實(shí)現(xiàn)簡(jiǎn)易通訊錄后,我就想寫一個(gè)復(fù)雜點(diǎn)的學(xué)生信息管理系統(tǒng),這次實(shí)現(xiàn)的功能有

1.學(xué)生信息的錄入管理;
2.學(xué)生選課操作;
3.學(xué)生選課情況查詢;

這次仍然用到sqlite3模塊。雖然看著挺簡(jiǎn)單,但是也踩了不少坑,畢竟剛開始實(shí)戰(zhàn),有些細(xì)節(jié)的還需要多多磨煉??!

好了,廢話不多說,直接上代碼,歡迎感興趣的朋友私信討論~~~

#-*- coding:utf-8 -*-
import sqlite3
#打開本地?cái)?shù)據(jù)庫用于存儲(chǔ)用戶信息
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";

#以上三個(gè)表創(chuàng)建完后,再次運(yùn)行程序時(shí),需要把三個(gè)建表代碼注釋掉,否則會(huì)提示:該表已存在。即建表只需建一次。

def insert_stu(): #錄入學(xué)生信息
 conn = sqlite3.connect('student.db')
 stu_id = input("請(qǐng)輸入學(xué)生學(xué)號(hào):")
 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é)號(hào)已存在,請(qǐng)重新輸入"
 break
 else:
 stu_name = raw_input("請(qǐng)輸入學(xué)生姓名:")
 stu_class = input("請(qǐng)輸入學(xué)生班級(jí):")
 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('請(qǐng)輸入要選課的學(xué)生學(xué)號(hào):')
 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("請(qǐng)輸入要選的課程號(hào):")
 sql = "select StuId from XuankeTable where CourseId = %d;"%(cou_id)
 cursor3= conn.execute(sql)
 for row in cursor3:
 if stu_id == row[0]:
 print "該課程已選,請(qǐng)重新輸入要選課程!"
 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é)生號(hào)"

def stu_id_search():#按照學(xué)生學(xué)號(hào)查詢學(xué)生信息
 conn = sqlite3.connect('student.db')
 search_stu_id = input("請(qǐng)輸入要查詢的學(xué)號(hào):")
 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é)號(hào)查詢?cè)搶W(xué)生所選課程
 stu_id = input("請(qǐng)輸入要查詢學(xué)生號(hào):")
 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é)生所選課程號(hào)為:"
 print row
 print
 break
 else:
 print "sorry,沒有該學(xué)生選課信息!"

def cou_id_search(): #按照課程號(hào)查詢課程信息
 cou_id = input("請(qǐng)輸入要查詢的課程號(hào):")
 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():#按照課程號(hào)查詢選擇該課程的學(xué)生列表
 cou_id = input('請(qǐng)輸入課程號(hào):')
 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.進(jìn)入學(xué)生信息系統(tǒng)(學(xué)生信息錄入)'
 print '2.進(jìn)入學(xué)生選課系統(tǒng)(學(xué)生選課操作)'
 print '3.進(jìn)入學(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é)號(hào)查詢學(xué)生信息'
 print '2.按學(xué)號(hào)查看學(xué)生選課課程列表'
 print '3.按課程號(hào)查看課程信息'
 print '4.按課程號(hào)查看選課學(xué)生列表'
 print '5.返回主菜單'
 print '6.退出程序'

while True:
 menu()
 print
 x = raw_input('請(qǐng)輸入您的選擇菜單號(hào):')
 if x == '1':
 #進(jìn)入學(xué)生信息系統(tǒng)
 student()
 stu = raw_input('您已進(jìn)入學(xué)生錄入系統(tǒng),請(qǐng)?jiān)俅屋斎脒x擇菜單:')
 if stu == '1':
 insert_stu()
 continue
 if stu == '2':
 menu()
 continue
 if stu == '3':
 print "謝謝使用!"
 exit()
 continue
 else:
 print "輸入的選項(xiàng)不存在,請(qǐng)重新輸入!"
 continue

 if x == '2':
 #進(jìn)入選課信息系統(tǒng)
 Course()
 cou = raw_input('您已進(jìn)入學(xué)生選課系統(tǒng),請(qǐng)?jiān)俅屋斎脒x擇菜單:')
 if cou == '1':
 xuanke()
 continue
 if cou == '2':
 menu()
 continue
 if cou == '3':
 print "謝謝使用!"
 exit()
 continue
 else:
 print "輸入的選項(xiàng)不存在,請(qǐng)重新輸入!"
 continue

 if x == '3':
 #進(jìn)入學(xué)生選課信息表
 information()
 inf = raw_input('您已進(jìn)入學(xué)生選課信息系統(tǒng),請(qǐng)?jiān)俅屋斎脒x擇菜單:')
 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 "輸入的選項(xiàng)不存在,請(qǐng)重新輸入!"
 continue

 if x == '4':
 print "謝謝使用!"
 exit()
 else:
 print "輸入的選項(xiàng)不存在,請(qǐng)重新輸入!"
 continue

更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例

    理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例

    生產(chǎn)者消費(fèi)者模型一般用于體現(xiàn)程序的多線程并發(fā)性,Python的多線程雖然受到GIL控制,但依然可以構(gòu)建隊(duì)列來簡(jiǎn)單體現(xiàn)出模型的思路,這里我們就來共同理解生產(chǎn)者消費(fèi)者模型及在Python編程中的運(yùn)用實(shí)例:
    2016-06-06
  • pycharm自定義TODO類注釋以及高亮顏色的設(shè)置方法

    pycharm自定義TODO類注釋以及高亮顏色的設(shè)置方法

    這篇文章主要介紹了pycharm自定義TODO類注釋以及高亮顏色的設(shè)置方法,文中通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-03-03
  • Python隨機(jī)函數(shù)random隨機(jī)獲取數(shù)字、字符串、列表等使用詳解

    Python隨機(jī)函數(shù)random隨機(jī)獲取數(shù)字、字符串、列表等使用詳解

    這篇文章主要介紹了Python隨機(jī)函數(shù)random使用詳解包含了Python隨機(jī)數(shù)字,Python隨機(jī)字符串,Python隨機(jī)列表等,需要的朋友可以參考下
    2021-04-04
  • 利用python操作SQLite數(shù)據(jù)庫及文件操作詳解

    利用python操作SQLite數(shù)據(jù)庫及文件操作詳解

    這篇文章主要給大家介紹了關(guān)于利用python操作SQLite數(shù)據(jù)庫及文件操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • 基于python for in if 連著寫與分開寫的區(qū)別說明

    基于python for in if 連著寫與分開寫的區(qū)別說明

    這篇文章主要介紹了基于python for in if 連著寫與分開寫的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python中更優(yōu)雅的日志記錄方案詳解

    Python中更優(yōu)雅的日志記錄方案詳解

    在Python中,一般情況下我們可能直接用自帶的logging模塊來記錄日志,但logging用起來其實(shí)并不是那么好用,其實(shí)主要還是配置較為繁瑣。本文為大家介紹了Python中更優(yōu)雅的日志記錄方案,需要的可以參考一下
    2022-06-06
  • Python用Jira庫來操作Jira

    Python用Jira庫來操作Jira

    這篇文章主要介紹了Python如何用Jira庫來操作Jira,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python實(shí)現(xiàn)輕松合并doc為txt的示例代碼

    Python實(shí)現(xiàn)輕松合并doc為txt的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python編程語言和wxPython模塊,打開指定文件夾中的DOC文檔,并將它們的內(nèi)容合并成一個(gè)便捷的TXT文檔,需要的可以參考下
    2024-03-03
  • 機(jī)器深度學(xué)習(xí)二分類電影的情感問題

    機(jī)器深度學(xué)習(xí)二分類電影的情感問題

    這篇文章主要介紹了機(jī)器深度學(xué)習(xí)關(guān)于電影二次類的情感問題,代碼詳細(xì),對(duì)理解深度學(xué)習(xí)中的二次類問題有很大的幫助,有需要學(xué)習(xí)的朋友可以看一下這篇文章
    2021-04-04
  • Python數(shù)據(jù)分析之?Matplotlib?3D圖詳情

    Python數(shù)據(jù)分析之?Matplotlib?3D圖詳情

    本文主要介紹了Python數(shù)據(jù)分析之Matplotlib 3D圖詳情,Matplotlib提供了mpl_toolkits.mplot3d工具包來進(jìn)行3D圖表的繪制,下文總結(jié)了更多相關(guān)資料,需要的小伙伴可以參考一下
    2022-05-05

最新評(píng)論

镇巴县| 新源县| 元阳县| 内乡县| 原平市| 莆田市| 巴青县| 澳门| 农安县| 泾阳县| 磐石市| 福海县| 深圳市| 全椒县| 信阳市| 东台市| 东城区| 巴青县| 大悟县| 苍南县| 宁城县| 略阳县| 清苑县| 中山市| 句容市| 南康市| 重庆市| 容城县| 张北县| 库车县| 义乌市| 定安县| 惠东县| 任丘市| 滦平县| 白玉县| 鄄城县| 正阳县| 南平市| 福清市| 昆明市|