目錄
實現(xiàn)的對學(xué)生信息(姓名、年齡、電話號)的增刪改查功能。
一、學(xué)生管理系統(tǒng)基本框架
二、添加學(xué)生
三、顯示所有學(xué)生信息
四、刪除學(xué)生信息
五、修改學(xué)生信息
六、查詢某個學(xué)生信息
七、最終的學(xué)生管理系統(tǒng)
八、信息變動
(姓名、年齡、電話號)--->(學(xué)號、姓名、電話號)
九、示例圖
實現(xiàn)的對學(xué)生信息(姓名、年齡、電話號)的增刪改查功能。
一、學(xué)生管理系統(tǒng)基本框架
首先,我們先寫出整個系統(tǒng)的大致框架,如下:
def print_info():
print('-' * 20)
print('歡迎登錄學(xué)員管理系統(tǒng)')
print('1: 添加學(xué)員')
print('2: 刪除學(xué)員')
print('3: 修改學(xué)員信息')
print('4: 查詢學(xué)員信息')
print('5: 顯示所有學(xué)員信息')
print('6: 退出系統(tǒng)')
print('-' * 20)
def main():
while True:
print_info()
num = input('請輸入您的選項:')
if num == "1":
pass
elif num == "2":
pass
elif num == '3':
pass
elif num == '4':
pass
elif num == '5':
pass
elif num == '6':
print("謝謝使用!!!")
return
else:
print('輸入的不正確!!!')
input("請按回車?yán)^續(xù)!!!")
if __name__ == '__main__':
main()
二、添加學(xué)生
接下來,我們實現(xiàn)第一個添加學(xué)生功能,如下:
# 存儲學(xué)生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110},{"name": "老李", "age": 18, "tel": 120}]
def print_info():
"""顯示菜單"""
print('-' * 20)
print('歡迎登錄學(xué)員管理系統(tǒng)')
print('1: 添加學(xué)員')
print('2: 刪除學(xué)員')
print('3: 修改學(xué)員信息')
print('4: 查詢學(xué)員信息')
print('5: 顯示所有學(xué)員信息')
print('6: 退出系統(tǒng)')
print('-' * 20)
def add_student_info():
"""添加學(xué)生"""
global student_info_list
# 獲取要添加的人的電話
add_tel = int(input('請輸入要添加的人的電話:'))
# 判斷是否存在這個學(xué)生
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == add_tel:
print('此人已存在!!!')
return
# 確定了所有的學(xué)生的電話都不重復(fù)
else:
add_name = input("請輸入要添加的人的姓名:")
add_age = int(input("請輸入要添加的人的年齡:"))
# 存儲新的學(xué)生的信息
my_dict = {}
my_dict["name"] = add_name
my_dict["age"] = add_age
my_dict["tel"] = add_tel
# 添加到列表中
student_info_list.append(my_dict)
print('添加成功')
def main():
"""主函數(shù), 控制流程的"""
while True:
print_info()
num = input('請輸入您的選項:')
if num == "1":
add_student_info()
elif num == "2":
pass
elif num == '3':
pass
elif num == '4':
pass
elif num == '5':
show_all_info()
elif num == '6':
print("謝謝使用!!!")
return
else:
print('輸入的不正確!!!')
input("請按回車?yán)^續(xù)!!!")
if __name__ == '__main__':
main()
三、顯示所有學(xué)生信息
添加信息之后,我們再編寫顯示所有學(xué)生的信息部分,如下:
# 存儲學(xué)生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}]
def print_info():
"""顯示菜單"""
print('-' * 20)
print('歡迎登錄學(xué)員管理系統(tǒng)')
print('1: 添加學(xué)員')
print('2: 刪除學(xué)員')
print('3: 修改學(xué)員信息')
print('4: 查詢學(xué)員信息')
print('5: 顯示所有學(xué)員信息')
print('6: 退出系統(tǒng)')
print('-' * 20)
def add_student_info():
"""添加學(xué)生"""
global student_info_list
# 獲取要添加的人的電話
add_tel = int(input('請輸入要添加的人的電話:'))
# 判斷是否存在這個學(xué)生
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == add_tel:
print('此人已存在!!!')
return
# 確定了所有的學(xué)生的電話都不重復(fù)
else:
add_name = input("請輸入要添加的人的姓名:")
add_age = int(input("請輸入要添加的人的年齡:"))
# 存儲新的學(xué)生的信息
my_dict = {}
my_dict["name"] = add_name
my_dict["age"] = add_age
my_dict["tel"] = add_tel
# 添加到列表中
student_info_list.append(my_dict)
print('添加成功')
def show_all_info():
"""顯示所有的學(xué)生信息"""
# i ==> {"name": "老王", "age": 18, "tel": 110}
print("姓名\t年齡\t電話")
for i in student_info_list:
print(f"{i['name']}\t{i['age']}\t{i['tel']}")
def main():
"""主函數(shù), 控制流程的"""
while True:
print_info()
num = input('請輸入您的選項:')
if num == "1":
add_student_info()
elif num == "2":
pass
elif num == '3':
pass
elif num == '4':
pass
elif num == '5':
show_all_info()
elif num == '6':
print("謝謝使用!!!")
return
else:
print('輸入的不正確!!!')
input("請按回車?yán)^續(xù)!!!")
if __name__ == '__main__':
main()
四、刪除學(xué)生信息
接下來,我們開始編寫刪除學(xué)生信息部分,如下:
# 存儲學(xué)生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}]
def print_info():
"""顯示菜單"""
print('-' * 20)
print('歡迎登錄學(xué)員管理系統(tǒng)')
print('1: 添加學(xué)員')
print('2: 刪除學(xué)員')
print('3: 修改學(xué)員信息')
print('4: 查詢學(xué)員信息')
print('5: 顯示所有學(xué)員信息')
print('6: 退出系統(tǒng)')
print('-' * 20)
def add_student_info():
"""添加學(xué)生"""
global student_info_list
# 獲取要添加的人的電話
add_tel = int(input('請輸入要添加的人的電話:'))
# 判斷是否存在這個學(xué)生
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == add_tel:
print('此人已存在!!!')
return
# 確定了所有的學(xué)生的電話都不重復(fù)
else:
add_name = input("請輸入要添加的人的姓名:")
add_age = int(input("請輸入要添加的人的年齡:"))
# 存儲新的學(xué)生的信息
my_dict = {}
my_dict["name"] = add_name
my_dict["age"] = add_age
my_dict["tel"] = add_tel
# 添加到列表中
student_info_list.append(my_dict)
print('添加成功')
def show_all_info():
"""顯示所有的學(xué)生信息"""
# i ==> {"name": "老王", "age": 18, "tel": 110}
print("姓名\t年齡\t電話")
for i in student_info_list:
print(f"{i['name']}\t{i['age']}\t{i['tel']}")
def del_student_info():
"""刪除學(xué)生信息"""
global student_info_list
del_tel = int(input("請輸入要刪除的人的電話:"))
# 判斷這個人是否存在
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == del_tel:
student_info_list.remove(i)
print("刪除完畢")
return
else:
print('查無此人!!!')
def main():
"""主函數(shù), 控制流程的"""
while True:
print_info()
num = input('請輸入您的選項:')
if num == "1":
add_student_info()
elif num == "2":
del_student_info()
elif num == '3':
pass
elif num == '4':
pass
elif num == '5':
show_all_info()
elif num == '6':
print("謝謝使用!!!")
return
else:
print('輸入的不正確!!!')
input("請按回車?yán)^續(xù)!!!")
if __name__ == '__main__':
main()
五、修改學(xué)生信息
接下來,我們思考怎樣實現(xiàn)修改學(xué)生信息,代碼如下:
# 存儲學(xué)生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}]
def print_info():
"""顯示菜單"""
print('-' * 20)
print('歡迎登錄學(xué)員管理系統(tǒng)')
print('1: 添加學(xué)員')
print('2: 刪除學(xué)員')
print('3: 修改學(xué)員信息')
print('4: 查詢學(xué)員信息')
print('5: 顯示所有學(xué)員信息')
print('6: 退出系統(tǒng)')
print('-' * 20)
def add_student_info():
"""添加學(xué)生"""
global student_info_list
# 獲取要添加的人的電話
add_tel = int(input('請輸入要添加的人的電話:'))
# 判斷是否存在這個學(xué)生
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == add_tel:
print('此人已存在!!!')
return
# 確定了所有的學(xué)生的電話都不重復(fù)
else:
add_name = input("請輸入要添加的人的姓名:")
add_age = int(input("請輸入要添加的人的年齡:"))
# 存儲新的學(xué)生的信息
my_dict = {}
my_dict["name"] = add_name
my_dict["age"] = add_age
my_dict["tel"] = add_tel
# 添加到列表中
student_info_list.append(my_dict)
print('添加成功')
def show_all_info():
"""顯示所有的學(xué)生信息"""
# i ==> {"name": "老王", "age": 18, "tel": 110}
print("姓名\t年齡\t電話")
for i in student_info_list:
print(f"{i['name']}\t{i['age']}\t{i['tel']}")
def del_student_info():
"""刪除學(xué)生信息"""
global student_info_list
del_tel = int(input("請輸入要刪除的人的電話:"))
# 判斷這個人是否存在
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == del_tel:
student_info_list.remove(i)
print("刪除完畢")
return
else:
print('查無此人!!!')
def change_student_info():
"""修改學(xué)生信息"""
change_tel = int(input("請輸入要修改的學(xué)生的電話:"))
# 判斷這個人是否存在
# i => {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == change_tel:
# 獲取要修改的信息
change_name = input("請輸入修改后的姓名:")
change_age = input("請輸入修改后的年齡:")
change_tel = input("請輸入修改后的電話:")
# 修改信息
i["name"] = change_name
i["age"] = change_age
i["tel"] = change_tel
print("修改完畢!!!")
return
else:
print("查無此人!!!")
def main():
"""主函數(shù), 控制流程的"""
while True:
print_info()
num = input('請輸入您的選項:')
if num == "1":
add_student_info()
elif num == "2":
del_student_info()
elif num == '3':
change_student_info()
elif num == '4':
pass
elif num == '5':
show_all_info()
elif num == '6':
print("謝謝使用!!!")
return
else:
print('輸入的不正確!!!')
input("請按回車?yán)^續(xù)!!!")
if __name__ == '__main__':
main()
六、查詢某個學(xué)生信息
最后,我們來實現(xiàn)最后一個查詢某個學(xué)生信息功能,如下:
# 存儲學(xué)生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}]
def print_info():
"""顯示菜單"""
print('-' * 20)
print('歡迎登錄學(xué)員管理系統(tǒng)')
print('1: 添加學(xué)員')
print('2: 刪除學(xué)員')
print('3: 修改學(xué)員信息')
print('4: 查詢學(xué)員信息')
print('5: 顯示所有學(xué)員信息')
print('6: 退出系統(tǒng)')
print('-' * 20)
def add_student_info():
"""添加學(xué)生"""
global student_info_list
# 獲取要添加的人的電話
add_tel = int(input('請輸入要添加的人的電話:'))
# 判斷是否存在這個學(xué)生
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == add_tel:
print('此人已存在!!!')
return
# 確定了所有的學(xué)生的電話都不重復(fù)
else:
add_name = input("請輸入要添加的人的姓名:")
add_age = int(input("請輸入要添加的人的年齡:"))
# 存儲新的學(xué)生的信息
my_dict = {}
my_dict["name"] = add_name
my_dict["age"] = add_age
my_dict["tel"] = add_tel
# 添加到列表中
student_info_list.append(my_dict)
print('添加成功')
def show_all_info():
"""顯示所有的學(xué)生信息"""
# i ==> {"name": "老王", "age": 18, "tel": 110}
print("姓名\t年齡\t電話")
for i in student_info_list:
print(f"{i['name']}\t{i['age']}\t{i['tel']}")
def del_student_info():
"""刪除學(xué)生信息"""
global student_info_list
del_tel = int(input("請輸入要刪除的人的電話:"))
# 判斷這個人是否存在
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == del_tel:
student_info_list.remove(i)
print("刪除完畢")
return
else:
print('查無此人!!!')
def change_student_info():
"""修改學(xué)生信息"""
change_tel = int(input("請輸入要修改的學(xué)生的電話:"))
# 判斷這個人是否存在
# i => {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == change_tel:
# 獲取要修改的信息
change_name = input("請輸入修改后的姓名:")
change_age = input("請輸入修改后的年齡:")
change_tel = input("請輸入修改后的電話:")
# 修改信息
i["name"] = change_name
i["age"] = change_age
i["tel"] = change_tel
print("修改完畢!!!")
return
else:
print("查無此人!!!")
def search_student_info():
"""查詢一個學(xué)生的信息"""
search_tel = int(input("請輸入要查詢的學(xué)生的電話:"))
for i in student_info_list:
if i["tel"] == search_tel:
print(f"姓名:{i['name']} 年齡:{i['age']} 電話:{i['tel']}")
return
else:
print("查無此人!!!")
def main():
"""主函數(shù), 控制流程的"""
while True:
print_info()
num = input('請輸入您的選項:')
if num == "1":
add_student_info()
elif num == "2":
del_student_info()
elif num == '3':
change_student_info()
elif num == '4':
search_student_info()
elif num == '5':
show_all_info()
elif num == '6':
print("謝謝使用!!!")
return
else:
print('輸入的不正確!!!')
input("請按回車?yán)^續(xù)!!!")
if __name__ == '__main__':
main()
七、最終的學(xué)生管理系統(tǒng)
將各個模塊合并在一起,構(gòu)成完整的學(xué)生管理系統(tǒng)。
# 存儲學(xué)生信息
student_info_list = []
def print_info():
"""顯示菜單"""
print('-' * 20)
print('歡迎登錄學(xué)員管理系統(tǒng)')
print('1: 添加學(xué)員')
print('2: 刪除學(xué)員')
print('3: 修改學(xué)員信息')
print('4: 查詢學(xué)員信息')
print('5: 顯示所有學(xué)員信息')
print('6: 退出系統(tǒng)')
print('-' * 20)
def add_student_info():
"""添加學(xué)生"""
global student_info_list
# 獲取要添加的人的電話
add_tel = int(input('請輸入要添加的人的電話:'))
# 判斷是否存在這個學(xué)生
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == add_tel:
print('此人已存在!!!')
return
# 確定了所有的學(xué)生的電話都不重復(fù)
else:
add_name = input("請輸入要添加的人的姓名:")
add_age = int(input("請輸入要添加的人的年齡:"))
# 存儲新的學(xué)生的信息
my_dict = {}
my_dict["name"] = add_name
my_dict["age"] = add_age
my_dict["tel"] = add_tel
# 添加到列表中
student_info_list.append(my_dict)
print('添加成功')
def show_all_info():
"""顯示所有的學(xué)生信息"""
# i ==> {"name": "老王", "age": 18, "tel": 110}
print("姓名\t年齡\t電話")
for i in student_info_list:
print(f"{i['name']}\t{i['age']}\t{i['tel']}")
def del_student_info():
"""刪除學(xué)生信息"""
global student_info_list
del_tel = int(input("請輸入要刪除的人的電話:"))
# 判斷這個人是否存在
# i ==> {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == del_tel:
student_info_list.remove(i)
print("刪除完畢")
return
else:
print('查無此人!!!')
def change_student_info():
"""修改學(xué)生信息"""
change_tel = int(input("請輸入要修改的學(xué)生的電話:"))
# 判斷這個人是否存在
# i => {"name": "老王", "age": 18, "tel": 110}
for i in student_info_list:
if i["tel"] == change_tel:
# 獲取要修改的信息
change_name = input("請輸入修改后的姓名:")
change_age = int(input("請輸入修改后的年齡:"))
change_tel = int(input("請輸入修改后的電話:"))
# 修改信息
i["name"] = change_name
i["age"] = change_age
i["tel"] = change_tel
print("修改完畢!!!")
return
else:
print("查無此人!!!")
def search_student_info():
"""查詢一個學(xué)生的信息"""
search_tel = int(input("請輸入要查詢的學(xué)生的電話:"))
for i in student_info_list:
if i["tel"] == search_tel:
print(f"姓名:{i['name']} 年齡:{i['age']} 電話:{i['tel']}")
return
else:
print("查無此人!!!")
def load_data():
"""加載數(shù)據(jù)"""
global student_info_list
f = open("./data.txt", 'r', encoding="utf8")
data = f.read()
# 判斷文件是否為空
if len(data) > 0:
# 從文件中獲取的數(shù)據(jù)默認(rèn)是字符串類型的數(shù)據(jù)
data = eval(data)
# 把數(shù)據(jù)加載到了 student_info_list
student_info_list = data
f.close()
def save_data():
"""保存數(shù)據(jù)"""
f = open('./data.txt', "w", encoding="utf8")
# 文件必須存儲字符串?dāng)?shù)據(jù)
f.write(str(student_info_list))
f.close()
def main():
"""主函數(shù), 控制流程的"""
# 加載數(shù)據(jù)
load_data()
while True:
print_info()
num = input('請輸入您的選項:')
if num == "1":
add_student_info()
elif num == "2":
del_student_info()
elif num == '3':
change_student_info()
elif num == '4':
search_student_info()
elif num == '5':
show_all_info()
elif num == '6':
# 保存數(shù)據(jù)
save_data()
print("謝謝使用!!!")
return
else:
print('輸入的不正確!!!')
input("請按回車?yán)^續(xù)!!!")
if __name__ == '__main__':
main()
八、信息變動
(姓名、年齡、電話號)--->(學(xué)號、姓名、電話號)
?需求:設(shè)計一個學(xué)生管理系統(tǒng),要求實現(xiàn)對學(xué)生信息(學(xué)號、姓名、電話號)的增刪改查功能,并實現(xiàn)持久化存儲(注意文件存儲路徑)。
# 存儲學(xué)生信息
student_info_list = []
def print_info(): # 打印提示信息
print()
print('---------------->學(xué)生管理系統(tǒng)<-----------------')
print()
print(' 1 -> 添加學(xué)生信息 2 -> 刪除學(xué)生信息')
print(' 3 -> 修改學(xué)生信息 4 -> 查詢單個學(xué)生信息')
print(' 5 -> 查詢所有學(xué)生信息 0 -> 退出程序')
print('---------------------------------------------')
def add_student_info():
"""添加學(xué)生"""
global student_info_list
# 獲取要添加的人的學(xué)號
add_id = int(input('請?zhí)砑訉W(xué)生學(xué)號:'))
# 判斷是否存在這個學(xué)生
# i ==> {"id": 01, "name": "老王", "tel": 110}
for i in student_info_list:
if i["tel"] == add_id:
print('該學(xué)生已存在!!!')
return
# 確定了所有的學(xué)生的電話都不重復(fù)
else:
add_name = input("請?zhí)砑訉W(xué)生姓名:")
add_tel = int(input("請?zhí)砑訉W(xué)生電話:"))
# 存儲新的學(xué)生的信息
my_dict = {"id": add_id, "name": add_name, "tel": add_tel}
# 添加到列表中
student_info_list.append(my_dict)
print('添加成功!')
def show_all_info():
"""顯示所有的學(xué)生信息"""
# i ==> {"id": 01, "name": "老王", "tel": 110}
print("學(xué)號\t\t姓名\t\t電話")
for i in student_info_list:
print(f"{i['id']}\t{i['name']}\t{i['tel']}")
def del_student_info():
"""刪除學(xué)生信息"""
global student_info_list
del_id = int(input("請輸入要刪除學(xué)生的學(xué)號:"))
# 判斷這個人是否存在
# i ==> {"id": 01, "name": "老王", "tel": 110}
for i in student_info_list:
if i["id"] == del_id:
student_info_list.remove(i)
print("刪除完畢!")
return
else:
print('未查到該同學(xué)!!!')
def change_student_info():
"""修改學(xué)生信息"""
change_id = int(input("請輸入要修改的學(xué)生的學(xué)號:"))
# 判斷這個人是否存在
# i ==> {"id": 01, "name": "老王", "tel": 110}
for i in student_info_list:
if i["id"] == change_id:
# 獲取要修改的信息
change_id = int(input("請輸入修改后的學(xué)號:"))
change_name = input("請輸入修改后的姓名:")
change_tel = int(input("請輸入修改后的電話:"))
# 修改信息
i["id"] = change_id
i["name"] = change_name
i["tel"] = change_tel
print("修改完畢!!!")
return
else:
print("未查到該同學(xué)!!!")
def search_student_info():
"""查詢一個學(xué)生的信息"""
search_id = int(input("請輸入要查詢的學(xué)生的學(xué)號:"))
for i in student_info_list:
if i["id"] == search_id:
print(f"學(xué)號:{i['id']} 姓名:{i['name']} 電話:{i['tel']}")
return
else:
print("未查到該同學(xué)!!!")
def load_data():
"""加載數(shù)據(jù)"""
global student_info_list
f = open("student.txt", 'r', encoding="utf8")
data = f.read()
# 判斷文件是否為空
if len(data) > 0:
# 從文件中獲取的數(shù)據(jù)默認(rèn)是字符串類型的數(shù)據(jù)
data = eval(data)
# 把數(shù)據(jù)加載到了 student_info_list
student_info_list = data
f.close()
def save_data():
"""保存數(shù)據(jù)"""
f = open('student.txt', "w", encoding="utf8")
# 文件必須存儲字符串?dāng)?shù)據(jù)
f.write(str(student_info_list))
f.close()
def main():
"""主函數(shù), 控制流程的"""
# 加載數(shù)據(jù)
load_data()
while True:
print_info()
num = input('請輸入您要操作的序號:')
if num == "1":
add_student_info()
elif num == "2":
del_student_info()
elif num == '3':
change_student_info()
elif num == '4':
search_student_info()
elif num == '5':
show_all_info()
elif num == '0':
# 保存數(shù)據(jù)
save_data()
print("退出成功,歡迎您下次使用!")
return
else:
print('序號錯誤,請您仔細(xì)查看提示,再次輸入!')
if __name__ == '__main__':
main()
九、示例圖
添加學(xué)生(示例圖):
刪除學(xué)生(示例圖):?
修改學(xué)生(示例圖):
查詢單個學(xué)生信息(示例圖):
?查詢所有學(xué)生信息(示例圖):
退出程序(示例圖):
?文件地址位置:
? ? ? ? 這個學(xué)生管理系統(tǒng)基本上把Python的基礎(chǔ)知識都利用上了,是檢測是否打好了Python基礎(chǔ)的一個方法,大家根據(jù)思路,嘗試著寫一寫。在之后的一段時間,會給大家?guī)鞵ython進階部分的內(nèi)容,感謝大家支持!
今天的內(nèi)容就到這里,下期再見啦~文章來源:http://www.zghlxwxcb.cn/news/detail-472555.html
<end>文章來源地址http://www.zghlxwxcb.cn/news/detail-472555.html
到了這里,關(guān)于Python基礎(chǔ) --- 實現(xiàn)學(xué)生管理系統(tǒng)(Python 文件版本)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!