Python基础day05【函数应用:学生管理系统、拆包、今日总结】
生活随笔
收集整理的這篇文章主要介紹了
Python基础day05【函数应用:学生管理系统、拆包、今日总结】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 視頻、源碼、課件、軟件、筆記:超全面Python基礎入門教程【十天課程】博客筆記匯總表【黑馬程序員】
-
Python基礎day05【函數(函數傳參的兩種形式、函數形參)、拆包、引用、可變與不可變類型、引用做函數參數注意點】
-
Python基礎day05【函數(局部變量、全局變量、多函數執行流程、函數返回值、函數參數)、拆包、引用、可變與不可變類型、函數注意事項】
目錄
7.函數應用:學生管理系統
分析
搭建業務框架
添加學生信息
添加學生優化
刪除 / 修改 / 查詢 學生信息
簡易學生管理系統代碼
代碼1
代碼2
8.拆包補充
今日總結
7.函數應用:學生管理系統
分析
增刪改查操作
存儲學生信息:
? ? 姓名
? ? 年齡
? ? 班級
? ? 性別
? ? ...
? ? {'name': 'isaac', 'age': 18, ...}
存儲所有的學生信息:
? ? 列表: [{}, {}, {}, ...]
功能菜單、業務框架。
搭建業務框架
def show_menu():print('1. 添加學生')print('2. 刪除學生')print('3. 修改學生信息')print('4. 查詢單個學生信息')print('5. 查詢所有的學生信息')print('6. 退出系統')while True:show_menu()opt = input('請輸入用來選擇的操作編號:')if opt == '1':print('1. 添加學生')elif opt == '2':print('2. 刪除學生')elif opt == '3':print('3. 修改學生信息')elif opt == '4':print('4. 查詢單個學生信息')elif opt == '5':print('5. 查詢所有的學生信息')elif opt == '6':print('歡迎下次使用本系統...')breakelse:print('輸入有誤,請再次輸入!')continueinput('......回車鍵繼續操作......')添加學生信息
添加學生優化
代碼優化:
? ? 假設學生的名字都不能重復,在添加學生的時候,進行判斷。如果學生名字已經存在,則不添加!
刪除 / 修改 / 查詢 學生信息
都使用 name 對學生進行判斷
簡易學生管理系統代碼
代碼1
????
stu_list = [] # 定義學生列表,保存所有的學生信息def show_menu():print('1. 添加學生')print('2. 刪除學生')print('3. 修改學生信息')print('4. 查詢單個學生信息')print('5. 查詢所有的學生信息')print('6. 退出系統')def insert_student():# 1. 通過 input 函數獲取學生的信息, 姓名, 年齡, 性別name = input('請輸入學生名字:')# [{}, {}, {}] 判斷的是字典中的value是否存在for stu in stu_list:if stu['name'] == name:print('----------學生信息存在----------')return # 結束函數的執行age = input('請輸入學生年齡:')gender = input('請輸入學生性別:')# 2. 將學生信息轉換為字典進行保存stu_dict = {'name': name, 'age': int(age), 'gender': gender}# 3. 將這個學生字典添加的列表中stu_list.append(stu_dict)print('==============學生信息添加成功==============')def remove_student():# 1. 使用 input 獲取要刪除/修改/查詢的學生姓名name = input('請輸入要操作的學生的名字:')# 2. 判斷學生信息是否存在for stu in stu_list:if stu['name'] == name:# 3. 學生存在,對學生進行刪除/修改/查詢操作stu_list.remove(stu)# returnbreak# 4. 學生信息不存在,直接結束else:print('***********該學生信息不存在,無法刪除***********')def modify_student():# 1. 使用 input 獲取要刪除/修改/查詢的學生姓名name = input('請輸入要操作的學生的名字:')# 2. 判斷學生信息是否存在for stu in stu_list:if stu['name'] == name:# 3. 學生存在,對學生進行刪除/修改/查詢操作stu['age'] = int(input('請輸入新的年齡:'))# returnbreak# 4. 學生信息不存在,直接結束else:print('***********該學生信息不存在,無法修改***********')def search_student():# 1. 使用 input 獲取要刪除/修改/查詢的學生姓名name = input('請輸入要操作的學生的名字:')# 2. 判斷學生信息是否存在for stu in stu_list:if stu['name'] == name:# 3. 學生存在,對學生進行刪除/修改/查詢操作print(f'姓名:{stu["name"]}, 年齡:{stu["age"]}, 性別:{stu["gender"]}')# returnbreak# 4. 學生信息不存在,直接結束else:print('***********該學生信息不存在***********')def show_all_info():if len(stu_list) > 0:for stu in stu_list:print(f'姓名:{stu["name"]}、年齡:{stu["age"]}、性別:{stu["gender"]}')# print(stu)else:print('目前沒有學生信息')def main():while True:show_menu()opt = input('請輸入用來選擇的操作編號:')if opt == '1':# print('1. 添加學生')insert_student()elif opt == '2':# print('2. 刪除學生')remove_student()elif opt == '3':# print('3. 修改學生信息')modify_student()elif opt == '4':# print('4. 查詢單個學生信息')search_student()elif opt == '5':# print('5. 查詢所有的學生信息')show_all_info()elif opt == '6':print('歡迎下次使用本系統......')breakelse:print('輸入有誤,請再次輸入')continueinput('...... 回車鍵繼續操作.......')main()代碼2
import time import os# 定一個列表,用來存儲所有的學生信息(每個學生是一個字典) info_list = []def print_menu():print("---------------------------")print(" 學生管理系統 V1.0")print(" 1:添加學生")print(" 2:刪除學生")print(" 3:修改學生")print(" 4:查詢學生")print(" 5:顯示所有學生")print(" 6:退出系統")print("---------------------------")def add_new_info():"""添加學生信息"""global info_listnew_name = input("請輸入姓名:")new_tel = input("請輸入手機號:")new_qq = input("請輸入QQ:")for temp_info in info_list:if temp_info['name'] == new_name:print("此用戶名已經被占用,請重新輸入")return # 如果一個函數只有return就相當于讓函數結束,沒有返回值# 定義一個字典,用來存儲用戶的學生信息(這是一個字典)info = {}# 向字典中添加數據info["name"] = new_nameinfo["tel"] = new_telinfo["qq"] = new_qq# 向列表中添加這個字典info_list.append(info)def del_info():"""刪除學生信息"""global info_listdel_num = int(input("請輸入要刪除的序號:"))if 0 <= del_num < len(info_list):del_flag = input("你確定要刪除么?yes or no")if del_flag == "yes":del info_list[del_num]else:print("輸入序號有誤,請重新輸入")def modify_info():"""修改學生信息"""global info_listmodify_num = int(input("請輸入要修改的序號:"))if 0 <= modify_num < len(info_list):print("你要修改的信息是:")print("name:%s, tel:%s, QQ:%s" % (info_list[modify_num]['name'],info_list[modify_num]['tel'], info_list[modify_num]['qq']))info_list[modify_num]['name'] = input("請輸入新的姓名:")info_list[modify_num]['tel'] = input("請輸入新的手機號:")info_list[modify_num]['qq'] = input("請輸入新QQ:")else:print("輸入序號有誤,請重新輸入")def search_info():"""查詢學生信息"""search_name = input("請輸入要查詢的學生姓名:")for temp_info in info_list:if temp_info['name'] == search_name:print("查詢到的信息如下:")print("name:%s, tel:%s, QQ:%s" % (temp_info['name'], temp_info['tel'], temp_info['qq']))breakelse:print("沒有您要找的信息....")def print_all_info():"""遍歷學生信息"""print("序號\t姓名\t\t手機號\t\tQQ")i = 0for temp in info_list:# temp是一個字典print("%d\t%s\t\t%s\t\t%s" % (i, temp['name'], temp['tel'], temp['qq']))i += 1def main():"""用來控制整個流程"""while True:# 1. 打印功能print_menu()# 2. 獲取用戶的選擇num = input("請輸入要進行的操作(數字)")# 3. 根據用戶選擇,做相應的事情if num == "1":# 添加學生add_new_info()elif num == "2":# 刪除學生del_info()elif num == "3":# 修改學生modify_info()elif num == "4":# 查詢學生search_info()elif num == "5":# 遍歷所有的信息print_all_info()elif num == "6":# 退出系統exit_flag = input("親,你確定要退出么?~~~~(>_<)~~~~(yes or no) ")if exit_flag == "yes":breakelse:print("輸入有誤,請重新輸入......")input("\n\n\n按回車鍵繼續....")os.system("clear") # 調用Linux命令clear完成清屏# 程序的開始 main()8.拆包補充
def func(*args, **kwargs):print('args', args)print('kwargs', kwargs)num = 0# for i in args:# num += i # num = num + i## for j in kwargs.values():# num += j## print(f"求和的結果為{num}")my_list = [1, 2, 3, 4, 5, 6] my_dict = {'a': 7, 'b': 8, 'c': 9, 'd': 10}func(my_list) # 將列表作為一個數據進行傳遞 func(*my_list) # 將列表中的每一個數據作為位置參數進行傳遞, 拆包 func(my_dict) # 將my_dict 作為一個位置實參進行傳遞 func(*my_dict) # 將my_dict中的key 作為位置實參進行傳遞 func(**my_dict) # 將my_dict中鍵值對作為關鍵字實參進行傳遞今日總結
總結
以上是生活随笔為你收集整理的Python基础day05【函数应用:学生管理系统、拆包、今日总结】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础day05【函数(局部变
- 下一篇: 操作系统 课堂练习题01【15道 经典题