python創(chuàng)建學(xué)生管理系統(tǒng)
使用python創(chuàng)建學(xué)生管理系統(tǒng),供大家參考,具體內(nèi)容如下
創(chuàng)建學(xué)生管理系統(tǒng),可謂是學(xué)習(xí)編程最基礎(chǔ)的一小步。
主要是分為以下幾個(gè)思路:
接下來直接上源碼
#!/usr/bin/python3 # coding=utf-8 # 導(dǎo)入包 import random # 全局變量 # 函數(shù) # 類 # 調(diào)用函數(shù)或者類 # 裝所以數(shù)據(jù)的列表 class StudentSys(object): def __init__(self): # 實(shí)例屬性 self.names = [] self.infos = "1:增加|2:刪除|3:修改|4:查找|5:顯示|6:退出系統(tǒng)" # 打印提示信息(菜單) def print_menu(self): "打印提示菜單信息" print("=" * 25) print("\t~學(xué)生管理系統(tǒng)版本~") print("\t1:添加學(xué)生信息") print("\t2:刪除學(xué)生信息") print("\t3:修改學(xué)生信息") print("\t4:查找學(xué)生信息") print("\t5:顯示學(xué)生信息") print("\t6:退出學(xué)生信息系統(tǒng)") print("=" * 25) def add_info(self): "添加信息" self.student = {} name = input("請(qǐng)?zhí)砑有峦瑢W(xué)的姓名:") phone = input("請(qǐng)?zhí)砑有峦瑢W(xué)的手機(jī)號(hào):") wechat = input("請(qǐng)輸入新同學(xué)的微信號(hào):") self.student["name"] = name self.student["phone"] = phone self.student["wechat"] = wechat # 把學(xué)生信息(字典里面)添加到列表 self.names.append(self.student) self.show_info() self.save_info() def delete_info(self): '刪除信息' # 根據(jù)下標(biāo)刪除和內(nèi)容刪除和末尾刪除 del_name = input("請(qǐng)輸入刪除的學(xué)生的姓名:") for name in self.names: # name:{"name":"曹操"....} if del_name == name.get("name"): self.names.remove(name) self.show_info() self.save_info() def modify_info(self): """修改信息""" # 根據(jù)下標(biāo)修改index是列表的方法 find_name = input("請(qǐng)輸入您需要修改學(xué)生的姓名: ") flag = 0 # 0,沒有找到,1找到了 for name in self.names: if find_name == name["name"]: new_name = input("請(qǐng)輸入新的名字: ") name["name"] = new_name flag = 1 break if flag == 0: print("該名學(xué)生%s不存在" % find_name) else: self.show_info() self.save_info() def find_info(self): '''查找信息''' find_name = input("請(qǐng)輸入你要查找的姓名:") flag = 0 # 0,沒有找到,1找到了 for name in self.names: for value in name.values(): if find_name == value: flag = 1 print("找到了:{}".format(find_name)) break if flag == 0: print("沒有找到:{}".format(find_name)) def show_info(self): "表格方式顯示所以信息" print("\n") print("當(dāng)前學(xué)生信息") print("~" * 50) print("\t姓名\t\t\t電話\t\t\t微信\t") for name in self.names: msg = "\t" + name.get("name") + "\t\t" + name.get("phone") + "\t\t" + name.get("wechat") + "\t\t" print("~" * 50) print(msg) print("~" * 50) print("\n") # 程序的主要邏輯和程序入口 def start(self): self.print_menu() # 加載文件中保存的信息,加載到內(nèi)存中 self.load_info() while True: print("\n\n") print("操作指令") print("~" * 50) print(self.infos) print("~" * 50) number = input("請(qǐng)按照上面的提示輸入相應(yīng)指令:") # 判斷是否輸入是純的數(shù)字 if number.isdigit(): number = int(number) if number == 1: # 添加信息 self.add_info() elif number == 2: # 刪除信息 self.delete_info() elif number == 3: # 修改 # 修改信息 self.modify_info() elif number == 4: # 查找 # 查找信息 self.find_info() elif number == 5: # 顯示信息 self.show_info() elif number == 6: break else: print("請(qǐng)輸入正確的編號(hào)!") # 運(yùn)行的時(shí)候,讀取保存在文件的信息,并且賦值給names,第一次讀文件,文件不存在,"r"會(huì)報(bào)錯(cuò),"a+" def load_info(self): f = open("students.txt", "a+") f.seek(0, 0) content = f.read() # print("content==",content) if len(content) > 0: self.names = eval(content) # 每次刪除或者修改或者增加都重新保存數(shù)據(jù),覆蓋保存w def save_info(self): f = open("students.txt", "w") f.write(str(self.names)) f.close() s = StudentSys() s.start()
實(shí)現(xiàn)后的功能如下:
1、項(xiàng)目演示--啟動(dòng)
2、添加學(xué)生信息
3、添加多個(gè)學(xué)生信息后
4、刪除數(shù)據(jù)
5、修改數(shù)據(jù)
6、查找數(shù)據(jù)
7、顯示數(shù)據(jù)
8、退出系統(tǒng)
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- python實(shí)現(xiàn)學(xué)生管理系統(tǒng)開發(fā)
- python實(shí)現(xiàn)簡(jiǎn)易版學(xué)生成績(jī)管理系統(tǒng)
- python實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng)
- python學(xué)生管理系統(tǒng)的實(shí)現(xiàn)
- python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
- 使用Python實(shí)現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng)
- 基于python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- python創(chuàng)建學(xué)生成績(jī)管理系統(tǒng)
- 基于Python實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)
相關(guān)文章
Python Spyder 調(diào)出縮進(jìn)對(duì)齊線的操作
這篇文章主要介紹了Python Spyder 調(diào)出縮進(jìn)對(duì)齊線的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02PyQt6中自定義浮點(diǎn)型滑塊類的實(shí)現(xiàn)
在PyQt6中,滑塊是常用的用戶界面元素之一,用于選擇數(shù)值范圍,本文主要介紹了PyQt6中自定義浮點(diǎn)型滑塊類的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03python實(shí)現(xiàn)網(wǎng)頁(yè)鏈接提取的方法分享
這篇文章主要介紹了python實(shí)現(xiàn)的網(wǎng)頁(yè)鏈接提取的方法,需要的朋友可以參考下2014-02-02Python深度學(xué)習(xí)之FastText實(shí)現(xiàn)文本分類詳解
FastText是一種典型的深度學(xué)習(xí)詞向量的表示方法,它非常簡(jiǎn)單通過Embedding層將單詞映射到稠密空間,然后將句子中所有的單詞在Embedding空間中進(jìn)行平均,進(jìn)而完成分類操作2022-09-09