1. 程式人生 > >python:控制檯版學生系統---我是洪

python:控制檯版學生系統---我是洪

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,執行在控制檯。