1.系統簡介 需求:進入系統顯示系統功能界面,功能如下: 1、添加學員 2、刪除學員 3、修改學員信息 4、查詢學員信息 5、顯示所有學員信息 6、退出系統 系統共6個功能,用戶根據自己需求選取。 2.步驟分析 顯示功能界面 用戶輸入功能序號 根據用戶輸入的功能序號,執行不同的功能(函數) 定義函數 ...
1.系統簡介
需求:進入系統顯示系統功能界面,功能如下:
1、添加學員
2、刪除學員
3、修改學員信息
4、查詢學員信息
5、顯示所有學員信息
6、退出系統
系統共6個功能,用戶根據自己需求選取。
2.步驟分析
顯示功能界面
用戶輸入功能序號
根據用戶輸入的功能序號,執行不同的功能(函數)
-
定義函數
-
調用函數
3 需求實現
1 顯示功能界面
定義函數print_info,負責顯示系統功能。
def print_info():
print('-' * 20)
print('歡迎登錄學員管理系統')
print('1: 添加學員')
print('2: 刪除學員')
print('3: 修改學員信息')
print('4: 查詢學員信息')
print('5: 顯示所有學員信息')
print('6: 退出系統')
print('-' * 20)
print_info()
2 用戶輸入序號,選擇功能
user_num = input('請選擇您需要的功能序號:')
3 根據用戶選擇,執行不同的功能
if user_num == '1':
print('添加學員')
elif user_num == '2':
print('刪除學員')
elif user_num == '3':
print('修改學員信息')
elif user_num == '4':
print('查詢學員信息')
elif user_num == '5':
print('顯示所有學員信息')
elif user_num == '6':
print('退出系統')
工作中,需要根據實際需求調優代碼。
- 用戶選擇系統功能的代碼需要迴圈使用,直到用戶主動退出系統。
- 如果用戶輸入1-6以外的數字,需要提示用戶。
while True:
# 1. 顯示功能界面
print_info()
# 2. 用戶選擇功能
user_num = input('請選擇您需要的功能序號:')
# 3. 根據用戶選擇,執行不同的功能
if user_num == '1':
print('添加學員')
elif user_num == '2':
print('刪除學員')
elif user_num == '3':
print('修改學員信息')
elif user_num == '4':
print('查詢學員信息')
elif user_num == '5':
print('顯示所有學員信息')
elif user_num == '6':
print('退出系統')
else:
print('輸入錯誤,請重新輸入!!!')
4 定義不同功能的函數
所有功能函數都是操作學員信息,所有存儲所有學員信息應該是一個全局變數,數據類型為列表。
info = []
添加學員
需求分析
接收用戶輸入學員信息,並保存
判斷是否添加學員信息
-
如果學員姓名已經存在,則報錯提示
-
如果學員姓名不存在,則準備空字典,將用戶輸入的數據追加到字典,再列表追加字典數據
對應的if條件成立的位置調用該函數
代碼實現
def add_info():
""" 添加學員 """
# 接收用戶輸入學員信息
new_id = input('請輸入學號:')
new_name = input('請輸入姓名:')
new_tel = input('請輸入手機號:')
# 聲明info是全局變數
global info
# 檢測用戶輸入的姓名是否存在,存在則報錯提示
for i in info:
if new_name == i['name']:
print('該用戶已經存在!')
return
# 如果用戶輸入的姓名不存在,則添加該學員信息
info_dict = {}
# 將用戶輸入的數據追加到字典
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel
# 將這個學員的字典數據追加到列表
info.append(info_dict)
print(info)
刪除學員
需求分析
按用戶輸入的學員姓名進行刪除
1.用戶輸入目標學員姓名
2.檢查這個學員是否存在
-
如果存在,則列表刪除這個數據
-
如果不存在,則提示“該用戶不存在”
3.對應的if條件成立的位置調用該函數
代碼實現
# 刪除學員
def del_info():
"""刪除學員"""
# 1. 用戶輸入要刪除的學員的姓名
del_name = input('請輸入要刪除的學員的姓名:')
global info
# 2. 判斷學員是否存在:如果輸入的姓名存在則刪除,否則報錯提示
for i in info:
if del_name == i['name']:
info.remove(i)
break
else:
print('該學員不存在')
print(info)
修改學員信息
需求分析
1.用戶輸入目標學員姓名
2.檢查這個學員是否存在
-
如果存在,則修改這位學員的信息,例如手機號
-
如果不存在,則報錯
3.對應的if條件成立的位置調用該函數
代碼實現
# 修改函數
def modify_info():
"""修改函數"""
# 1. 用戶輸入要修改的學員的姓名
modify_name = input('請輸入要修改的學員的姓名:')
global info
# 2. 判斷學員是否存在:如果輸入的姓名存在則修改手機號,否則報錯提示
for i in info:
if modify_name == i ['name']:
i['tel'] = input('請輸入新的手機號:')
break
else:
print('該學員不存在')
print(info)
查詢學員信息
需求分析
1.用戶輸入目標學員姓名
2.檢查學員是否存在
-
如果存在,則顯示這個學員的信息
-
如果不存在,則報錯提示
對應的if條件成立的位置調用該函數
代碼實現
# 查詢學員
def search_info():
"""查詢學員"""
#學習中遇到問題沒人解答?小編創建了一個Python學習交流群:725638078
# 1. 輸入要查找的學員姓名:
search_name = input('請輸入要查找的學員姓名:')
global info
# 2. 判斷學員是否存在:如果輸入的姓名存在則顯示這位學員信息,否則報錯提示
for i in info:
if search_name == i['name']:
print('查找到的學員信息如下:----------')
print(f"該學員的學號是{i['id']}, 姓名是{i['name']}, 手機號是{i['tel']}")
break
else:
print('該學員不存在')
顯示所有學員信息
需求分析
列印所有學員信息
代碼實現
# 顯示所有學員信息
def print_all():
""" 顯示所有學員信息 """
print('學號\t姓名\t手機號')
for i in info:
print(f'{i["id"]}\t{i["name"]}\t{i["tel"]}')
退出系統
在用戶輸入功能序號6的時候要退出系統,代碼如下:
......
elif user_num == '6':
exit_flag = input('確定要退出嗎?yes or no')
if exit_flag == 'yes':
break