寫這篇文章的主要目的,主要是給大家做一個解答,解答一下怎么使用python,以此來實現(xiàn)簡單的學(xué)生操作管理系統(tǒng)制作。
一、系統(tǒng)簡介
實現(xiàn)一個學(xué)生信息的管理系統(tǒng):主要功能有:
添加學(xué)生信息
刪除學(xué)生信息
修改學(xué)生信息
查詢學(xué)生信息
顯示學(xué)生信息
退出當(dāng)前系統(tǒng)
二、步驟分析
顯示功能界面
用戶輸入功能序號
對不同序號的功能實現(xiàn)具體函數(shù)(3.1定義函數(shù)、3.2調(diào)用函數(shù))
三、需求實現(xiàn)
顯示功能界面info_print()
用戶輸入功能序號user_num=eval(input('請輸入功能序號:'))
按照用戶輸入的功能序號,執(zhí)行不同的功能(函數(shù))
添加學(xué)生信息add_info()
刪除學(xué)生信息del_info()
修改學(xué)生信息modify_info()
查詢學(xué)生信息search_info()
顯示學(xué)生信息print_all()
四、具體實現(xiàn)
系統(tǒng)功能需要循環(huán)使用,直到用戶輸入6,才退出系統(tǒng)功能界面部分:
</>復(fù)制代碼
#定義一個函數(shù)
def info_print():
print('--------請選擇功能-----')
print('1、添加學(xué)生')
print('2、刪除學(xué)生')
print('3、修改學(xué)生')
print('4、查詢學(xué)生')
print('5、顯示所有學(xué)生')
print('6、退出系統(tǒng)')
print('-'*20)
#等待存儲所有學(xué)生的信息
info=[]
主要部分代碼:
</>復(fù)制代碼
while True:
#1、顯示功能界面
info_print()
#2、用戶輸入功能序號
user_num=eval(input('請輸入功能序號:'))
#3、按照用戶輸入的功能序號,執(zhí)行不同的功能(函數(shù))
#如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
if user_num==1:
#print('添加學(xué)生')
elif user_num==2:
#print('刪除學(xué)生')
elif user_num==3:
#print('修改學(xué)生')
elif user_num==4:
#print('查詢學(xué)生')
elif user_num==5:
#print('顯示所有學(xué)生')
elif user_num==6:
exit_flag=input("確定要退出嗎?yes/no?")
if exit_flag=='yes':
break
#print('退出系統(tǒng)')
else:
print('輸入的功能序號有誤!')
那么根據(jù)上面的代碼,需要實現(xiàn)具體的功能函數(shù),主要代碼部分如下:
</>復(fù)制代碼
while True:
#1、顯示功能界面
info_print()
#2、用戶輸入功能序號
user_num=eval(input('請輸入功能序號:'))
#3、按照用戶輸入的功能序號,執(zhí)行不同的功能(函數(shù))
#如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
if user_num==1:
add_info()
#print('添加學(xué)生')
elif user_num==2:
del_info()
#print('刪除學(xué)生')
elif user_num==3:
modify_info()
#print('修改學(xué)生')
elif user_num==4:
search_info()
#print('查詢學(xué)生')
elif user_num==5:
print_all()
#print('顯示所有學(xué)生')
elif user_num==6:
exit_flag=input("確定要退出嗎?yes/no?")
if exit_flag=='yes':
break
#print('退出系統(tǒng)')
else:
print('輸入的功能序號有誤!')
4.1添加學(xué)生信息的函數(shù)
</>復(fù)制代碼
def add_info():
"""添加學(xué)生函數(shù)"""
#接受用戶輸入學(xué)生信息
#1、用戶輸入:學(xué)號、姓名、手機(jī)號
new_id=input("輸入學(xué)號:")
new_name=input("輸入姓名:")
new_tel=input("輸入手機(jī)號:")
#2、判斷是否添加這個學(xué)生,如果學(xué)生姓名已經(jīng)存在報錯提示,如果不存在則添加數(shù)據(jù)
global info
#2.1不允許姓名重復(fù):判斷用戶輸入的姓名如果和列表里面字典的name值是相等的,則提示姓名重復(fù)
for i in info:
if new_name==i['name']:
print("此用戶已經(jīng)存在,請勿重復(fù)添加")
#return退出當(dāng)前函數(shù),后面添加信息的代碼不執(zhí)行
return
#如果用戶輸入的姓名不存在,則添加該學(xué)生信息
info_dict={<!---->'id':new_id,'name':new_name,'tel':new_tel}
#將用戶輸入的數(shù)據(jù)追加到字典
#將這個學(xué)生的字典數(shù)據(jù)追加到列表
info.append(info_dict)
print(info)
4.2刪除學(xué)生信息的函數(shù)
</>復(fù)制代碼
def del_info():
"""刪除學(xué)生"""
#1、用戶輸入要刪除的學(xué)生的姓名
del_name=input("請輸入要刪除的學(xué)生的姓名:")
global info
#2、判斷學(xué)生是否存在
#2.1聲明info是全局變量
#2.2遍歷列表
#2.3判斷學(xué)生是否存在,存在則執(zhí)行刪除信息,break:不允許重名,那么刪除了一個,后面的不需要再遍歷;不存在則提示
for i in info:
if del_name==i['name']:
info.remove(i)
break
else:
print('該學(xué)生不存在!')
print(info)
4.3修改學(xué)生信息的函數(shù)
</>復(fù)制代碼
def modify_info():
"""修改函數(shù)"""
#1、用戶輸入要修改的學(xué)生的姓名
modify_name=input("請輸入要修改的學(xué)生的姓名:")
global info
#2、判斷學(xué)生是否存在,如果輸入的姓名存在則修改手機(jī)號,否則則提示
for i in info:
if modify_name==i['name']:
i['tel']=input("請輸入新的手機(jī)號:")
break
else:
print("該學(xué)生不存在")
print(info)
4.4查詢學(xué)生信息的函數(shù)
</>復(fù)制代碼
def search_info():
"""查詢學(xué)生信息"""
#1、輸入要查找的學(xué)生姓名
search_name=input("請輸入要查找的學(xué)生姓名:")
global info
#2、判斷學(xué)生是否存在,如果輸入的姓名存在則顯示該學(xué)生的信息,否則則提示
for i in info:
if search_name==i['name']:
print("找到該學(xué)生的信息如下:")
print(f"該學(xué)生的學(xué)號是{i['id']},姓名是{i['name']},手機(jī)號是{i['tel']}")
break
else:
print("該學(xué)生不存在!")
4.5顯示所有學(xué)生信息
</>復(fù)制代碼
def print_all():
"""顯示所有學(xué)生信息"""
print('學(xué)號t姓名t手機(jī)號')
for i in info:
print(f"{i['id']}t{i['name']}t{i['tel']}")
五、運(yùn)行效果
添加和刪除學(xué)生信息:
修改和查詢學(xué)生信息
顯示所有學(xué)生信息和退出系統(tǒng)
六、完整代碼
</>復(fù)制代碼
#定義一個函數(shù)
def info_print():
print('--------請選擇功能-----')
print('1、添加學(xué)生')
print('2、刪除學(xué)生')
print('3、修改學(xué)生')
print('4、查詢學(xué)生')
print('5、顯示所有學(xué)生')
print('6、退出系統(tǒng)')
print('-'*20)
#等待存儲所有學(xué)生的信息
info=[]
#1、添加學(xué)生信息的函數(shù)
def add_info():
"""添加學(xué)生函數(shù)"""
#接受用戶輸入學(xué)生信息
#1、用戶輸入:學(xué)號、姓名、手機(jī)號
new_id=input("輸入學(xué)號:")
new_name=input("輸入姓名:")
new_tel=input("輸入手機(jī)號:")
#2、判斷是否添加這個學(xué)生,如果學(xué)生姓名已經(jīng)存在報錯提示,如果不存在則添加數(shù)據(jù)
global info
#2.1不允許姓名重復(fù):判斷用戶輸入的姓名如果和列表里面字典的name值是相等的,則提示姓名重復(fù)
for i in info:
if new_name==i['name']:
print("此用戶已經(jīng)存在,請勿重復(fù)添加")
#return退出當(dāng)前函數(shù),后面添加信息的代碼不執(zhí)行
return
#如果用戶輸入的姓名不存在,則添加該學(xué)生信息
info_dict={<!---->'id':new_id,'name':new_name,'tel':new_tel}
#將用戶輸入的數(shù)據(jù)追加到字典
#將這個學(xué)生的字典數(shù)據(jù)追加到列表
info.append(info_dict)
print(info)
#2、刪除學(xué)生的信息
def del_info():
"""刪除學(xué)生"""
#1、用戶輸入要刪除的學(xué)生的姓名
del_name=input("請輸入要刪除的學(xué)生的姓名:")
global info
#2、判斷學(xué)生是否存在
#2.1聲明info是全局變量
#2.2遍歷列表
#2.3判斷學(xué)生是否存在,存在則執(zhí)行刪除信息,break:不允許重名,那么刪除了一個,后面的不需要再遍歷;不存在則提示
for i in info:
if del_name==i['name']:
info.remove(i)
break
else:
print('該學(xué)生不存在!')
print(info)
#3、修改學(xué)生的信息
def modify_info():
"""修改函數(shù)"""
#1、用戶輸入要修改的學(xué)生的姓名
modify_name=input("請輸入要修改的學(xué)生的姓名:")
global info
#2、判斷學(xué)生是否存在,如果輸入的姓名存在則修改手機(jī)號,否則則提示
for i in info:
if modify_name==i['name']:
i['tel']=input("請輸入新的手機(jī)號:")
break
else:
print("該學(xué)生不存在")
print(info)
#4、查詢學(xué)生信息
def search_info():
"""查詢學(xué)生信息"""
#1、輸入要查找的學(xué)生姓名
search_name=input("請輸入要查找的學(xué)生姓名:")
global info
#2、判斷學(xué)生是否存在,如果輸入的姓名存在則顯示該學(xué)生的信息,否則則提示
for i in info:
if search_name==i['name']:
print("找到該學(xué)生的信息如下:")
print(f"該學(xué)生的學(xué)號是{i['id']},姓名是{i['name']},手機(jī)號是{i['tel']}")
break
else:
print("該學(xué)生不存在!")
#5、顯示所有學(xué)生信息
def print_all():
"""顯示所有學(xué)生信息"""
print('學(xué)號t姓名t手機(jī)號')
for i in info:
print(f"{i['id']}t{i['name']}t{i['tel']}")
#系統(tǒng)功能需要循環(huán)使用,直到用戶輸入6,才退出系統(tǒng)
while True:
#1、顯示功能界面
info_print()
#2、用戶輸入功能序號
user_num=eval(input('請輸入功能序號:'))
#3、按照用戶輸入的功能序號,執(zhí)行不同的功能(函數(shù))
#如果用戶輸入1,就執(zhí)行添加學(xué)生的功能
if user_num==1:
add_info()
#print('添加學(xué)生')
elif user_num==2:
del_info()
#print('刪除學(xué)生')
elif user_num==3:
modify_info()
#print('修改學(xué)生')
elif user_num==4:
search_info()
#print('查詢學(xué)生')
elif user_num==5:
print_all()
#print('顯示所有學(xué)生')
elif user_num==6:
exit_flag=input("確定要退出嗎?yes/no?")
if exit_flag=='yes':
break
#print('退出系統(tǒng)')
else:
print('輸入的功能序號有誤!')
以上關(guān)于python搭建學(xué)生管理系統(tǒng)就為大家介紹到這里了,希望可以給各位讀者帶來幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/127752.html
摘要:如上海北京等管理員自己創(chuàng)建其他地方的學(xué)校管理員創(chuàng)建的課程。包含名字性別年齡等學(xué)員查詢可上課程學(xué)員選課,選擇學(xué)校課程,并付款。課程價格,周期課程價格,周期課程價格,周期創(chuàng)建講師屬于北京校區(qū),屬于上海校區(qū)。 作業(yè)需求 創(chuàng)建北京、上海 2 所學(xué)校 創(chuàng)建linux , python , go 3個課程,linuxpy在北京開, go 在上海開 課程包含,周期,價格,通過學(xué)校創(chuàng)建課程 通過學(xué)校...
摘要:年,第一個編譯器誕生。它是用語言實現(xiàn)的,并能夠調(diào)用語言的庫文件。榮登年年度最佳編程語言,很多大公司,包括都大量的使用。 文章目錄 1.1. Python的誕生1....
摘要:一面向?qū)ο缶幊獭J且婚T面向?qū)ο蟮木幊陶Z言,通過對象實現(xiàn)對方法的調(diào)用。面向過程的程序設(shè)計把計算機(jī)程序視為一系列的命令集合,即一組函數(shù)的順序執(zhí)行。對于面向?qū)ο笳Z言,重要的概念是類和實例。 一、preface 面向?qū)ο缶幊蘋OP:object oriented programming。OOP把對象作為程序的基本單元,一個對象包含了數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)。Python是一門面向?qū)ο蟮木幊陶Z言,...
摘要:解決按學(xué)生年齡排序的實際問題問題定義一個包含姓名性別年齡,需要按年齡給學(xué)生排序。輸出按照年齡進(jìn)行排序好的。思路使用冒泡排序,比較相鄰的學(xué)生,如果第一個學(xué)生的值比第二個學(xué)生的值大,那么就整體交換這兩個元素。 Python解決按學(xué)生年齡排序的實際問題 問題:定義一個Class:包含姓名name、性別gender、年齡age,需要按年齡給學(xué)生排序。輸入:包含學(xué)生對象的List。輸出:按照年齡...
摘要:輔之以事件循環(huán),協(xié)程可用于異步處理,尤其是在中。當(dāng)前支持的協(xié)程基于增強(qiáng)型生成器,于版本開始采用。新的特性中,異步還有兩種新用途異步內(nèi)容管理器和迭代器。 現(xiàn)在 Python 已經(jīng)支持用協(xié)程進(jìn)行異步處理。但最近有建議稱添加協(xié)程以全面完善 Python 的語言結(jié)構(gòu),而不是像現(xiàn)在這樣把他們作為生成器的一個類型。此外,兩個新的關(guān)鍵字———異步(async)和等待(await),都該添加到 Pyt...
閱讀 924·2023-01-14 11:38
閱讀 897·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2056·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02