python:控制檯版學生系統---我是洪
阿新 • • 發佈:2018-12-18
python執行在控制檯版本的學生系統
首先,應該安裝的環境和工具:1.python執行環境。2.pycharm
在Java中,控制檯版本的系統也是作為必須瞭解的一部分。
pycharm安裝後,新建的大專案其實是一個工作空間,在專案裡新建包,格式與Java大同小異,為三段式的型別。例如:com.cn.ui,諸如此類。
下面是連線資料庫的:
from pymysql import *#導MySQL的包
#定義class
class DataBase:
def allUser(self):#定義方法
conn =connect("127.0.0.1", "root", '1234', 'cn' )#連線
cursor = conn.cursor()#遊標
cursor.execute('select * from student')#執行SQL
data=cursor.fetchall()#拿到資料
conn.close()#關閉連線
return data#返回資料
接下來,封裝Student物件: 理論上與Java封裝物件類似!
class Student:#定義Student類
__stuId=0#封裝私有屬性
__stuName=''
__stuSex=''
__stuAge=0
#ps:stuId前面的是兩個下劃線,代表私有
#python無需定義資料型別,直接是變數名=某值
#定義無參構造
#ps:只有在class裡面的方法才會帶有self,且self並非是手打出來的,而是編碼時連帶出來的,相當於自動的。注意不要刻意去手打!
def Student(self):
pass
#pass的意思是待執行,如果不寫pass,會導致下面的程式碼出現紅色警告!
#定義有參構造
def Student(self,stuId,stuName,stuSex,stuAge):
self.__stuId=stuId
self.__stuName=stuName
self.__stuSex=stuSex
self. __stuAge=stuAge
#這是get的方法
@property
def stuId(self):
return self.__stuId
#set的方法
@stuId.setter
def stuId(self,stuId):
self.__stuId=stuId
#另外的屬性同上
如上,Student物件封裝完畢!
上面的工作做好後,新建一個python模組,這個模組主要是執行控制檯的增刪改查操作。 python的模組相當於Java的class檔案
#先匯入上面的連線模組和物件模組
from com.hc.dao.Connect import *
from com.hc.entity.Student import *
print('歡迎使用Student管理系統!')
#列印一句話
#輸出所有的資料
print('-------------------------------------')
print('編號\t 姓名\t 性別\t 年齡')
print('-------------------------------------')
for o in DataBase().allUser():#DataBase是連線中的class,allUser是DataBase中的方法
print(o[0], '\t\t', o[1],'\t\t',o[2],'\t\t',o[3])
print('-------------------------------------')
#定義死迴圈,當對方輸入ret才會退出
while True:
password=input("輸入密碼:(pass/ret)")
if password=='hc':
systems()
break
elif password=='ret':
break
else:
print('請重新輸入!')
一定要判斷對方輸入的int或者string資料是否符合要求! 小編寫出的這種系統的毫無報錯的,歷經檢驗,隨便對方如何傻瓜式操作!就是這麼任性! 下面是增刪改查的具體程式碼:
inp=input('請輸入操作:(all,one,del,ins,upd,ret)')
if inp=='all':
selAll()
elif inp=='one':
sname=input('請輸入查詢student的編號:')
if intspace(sname):
o = DataBase().selAUser(int(sname))
selOne(o)
else:
print('請正確輸入查詢student的編號!')
elif inp == 'del':
sid = input('請輸入刪除student的編號:')
if intspace(sid):
o = DataBase().selAUser(int(sid))
if o != '':
selOne(o)
inpu = input('是否刪除?(yes/no)')
if inpu == 'yes':
DataBase().delUserByid(sid)
print('刪除成功!')
else:
print('退出刪除!')
else:
print('此使用者不存在!')
selAll()
else:
print('請正確輸入刪除student的編號!')
elif inp == 'ins':
student=Student()
sname = input('請輸入新student的姓名:')
if strspace(sname):
student.stuName = sname
else:
print('輸入有誤!操作中止!')
continue
ssex = input("請輸入新student的性別:")
if strspace(ssex):
student.stuSex=ssex
else:
print('輸入有誤!操作中止!')
continue
sage = input("請輸入新student的年齡:")
if intspace(sage):
student.stuAge=int(sage)
else:
print('輸入有誤!操作中止!')
continue
DataBase().insUser(student)
print("新增成功!")
selAll()
elif inp == 'upd':
sid = input('請輸入修改student的編號:')
if intspace(sid):
o = DataBase().selAUser(int(sid))
if o == '':
print('此使用者不存在!')
else:
selOne(o)
student = Student()
student.stuId = sid
sname = input('請輸入改student的姓名:')
if strspace(sname):
student.stuName = sname
else:
print('輸入有誤!操作中止!')
continue
ssex = input("請輸入改student的性別:")
if strspace(ssex):
student.stuSex = ssex
else:
print('輸入有誤!操作中止!')
continue
sage = input("請輸入改student的年齡:")
if intspace(sage):
student.stuAge = int(sage)
else:
print('輸入有誤!操作中止!')
continue
DataBase().updUser(student)
print("修改成功!")
selAll()
else:
print('輸入有誤!操作中止!')
elif inp=='ret' or inp=='Ret':
inpu = input('是否退出?(yes/no)')
if inpu != 'yes':
print('繼續操作!')
else:
print('系統在3秒後自行關閉!')
break # 退出死迴圈
ps:一定要嚴格注意格式,因為python不像Java有{},所以製表符tab很重要!
佈置好上面所有程式碼後,點選run,執行在控制檯。