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-02
PyQt6中自定義浮點(diǎn)型滑塊類的實(shí)現(xiàn)
在PyQt6中,滑塊是常用的用戶界面元素之一,用于選擇數(shù)值范圍,本文主要介紹了PyQt6中自定義浮點(diǎn)型滑塊類的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
python實(shí)現(xiàn)網(wǎng)頁鏈接提取的方法分享
這篇文章主要介紹了python實(shí)現(xiàn)的網(wǎng)頁鏈接提取的方法,需要的朋友可以參考下2014-02-02
Python深度學(xué)習(xí)之FastText實(shí)現(xiàn)文本分類詳解
FastText是一種典型的深度學(xué)習(xí)詞向量的表示方法,它非常簡(jiǎn)單通過Embedding層將單詞映射到稠密空間,然后將句子中所有的單詞在Embedding空間中進(jìn)行平均,進(jìn)而完成分類操作2022-09-09

