python基礎:案例:學生名片資訊管理系統
阿新 • • 發佈:2019-01-11
功能:
1.能迴圈輸入內容
2.展示功能
-1.新增名片
-2.顯示全部
-3.查詢名片
-0.退出系統
3.讓使用者輸入希望執行的操作 例如輸入1,2,3,0
4.新增列表
- 提示使用者輸入姓名,
- 輸入電話
- 輸入qq號
- 輸入郵箱
- 提示新增名片成功。
5.顯示全部 - 將所有的名片打印出來,格式如下:
姓名 電話 QQ 郵箱
zs 110 1337765076 [email protected]
6.查詢名片
- 提示請輸入要搜尋查詢使用者的姓名
-
如果使用者存在—>顯示使用者的資訊
-提示使用者【1】修改 【2】刪除 【0】返回上一級選單,請選擇要執行的操作。
-修改操作,可以修改使用者名稱,電話,qq、郵箱。- 刪除操作,將使用者刪除。
- 返回上一級操作,回到歡迎介面,讓使用者繼續操作。
-
如果使用者不存在–>提示查詢的使用者不存在。
-
student_info_lst = [] # 儲存所有學生的資訊
def show_menu(): #顯示所有功能選單
‘’‘顯示所有功能選單’’’
print(‘歡迎來到學生資訊管理系統’)
print(‘新增學員請按【1】’)
print(‘顯示全部請按【2】’)
print(‘查詢學員請按【3】’)
print(‘退出系統請按【0】’)
def add_student(): #這是新增學員功能 '''這是新增學員功能''' print('-----新增學院功能') name = input('請輸入姓名:') age = input('請輸入年齡:') gender = input('請輸入性別:') phone = input('請輸入手機:') # 將使用者輸入的資訊儲存到字典中 # print(name.age,gender,phone) dic = {} dic['name'] = name dic['age'] = age dic['gender'] = gender dic['phone'] = phone # print(dic) # 注意將使用者輸入的資訊儲存到全域性變數student_info_lst列表中, # 讓其他功能使用列表中的資訊 student_info_lst.append(dic) print('新增成功了') print(student_info_lst) def alignment(s,space): '''動態獲取空格長度''' s1=s.encode('gbk') length=len(s1) space=space-length s=s+' '*space return s ret=alignment('name',20) print(ret) def show_all_student(): print('-----顯示所有的學員資訊功能-----') if not student_info_lst: # 沒有學員資訊 print('還沒有學員資訊呢,請先新增學員') return # 顯示學員資訊 # print('name\tage\tgender\tphone\t') #此種方法對不齊 name=alignment('name',15) age=alignment('age',15) gender=alignment('gender',15) phone=alignment('phone',15) print(name,age,gender,phone) for dic in student_info_lst: # name = dic['name'] # age = dic['age'] # gender = dic['gender'] # phone = dic['phone'] # print('{}\t{}\t{}\t{}\t'.format(name, age, gender, phone)) 此種方法對不齊 name=alignment(dic['name'],15) age=alignment(dic['age'],15) gender=alignment(dic['gender'],15) phone=alignment(dic['phone'],15) print(name,age,gender,phone) def modify_student(old_value, msg): new_value = input(msg) if new_value.strip(): # 輸入的內容不為空 return new_value else: return old_value def deal_student(dic): # 修改和刪除學員資訊 action_str = input('【1】修改 【2】刪除 【0】返回上一級選單,請選擇執行的操作') if action_str == '1': name = modify_student(dic['name'], '請輸入姓名:') age = modify_student(dic['age'], '請輸入年齡:') gender = modify_student(dic['gender'], '請輸入性別:') phone = modify_student(dic['phone'], '請輸入電話:') dic['name'] = name dic['age'] = age dic['gender'] = gender dic['phone'] = phone print('------修改成功了--------') elif action_str == '2': student_info_lst.remove(dic) print('-----刪除成功了-----') elif action_str == '0': pass def search_student_by_name(): print('-----歡迎來到學生資訊查詢功能-------') if student_info_lst: name = input('請輸入要查詢學員的姓名:') for dic in student_info_lst: if dic['name'] == name: print('name\tage\tgender\tphone\t') name = dic['name'] age = dic['age'] gender = dic['gender'] phone = dic['phone'] print('{}\t{}\t{}\t{}\t'.format(name, age, gender, phone)) # 修改學員資訊 deal_student(dic) # 需要將學員資訊傳遞到函式中 break else: print('沒有找到該學員姓名') else: print('沒有學員資訊,請先新增學員資訊') while True: show_menu() action_str = input('請輸入您要選的數字:') lst = ['0', '1', '2', '3'] if action_str in lst: # print('正確了') if action_str == '0': break elif action_str == '1': add_student() elif action_str == '2': show_all_student() elif action_str == '3': search_student_by_name() else: print('--------sb,' '輸入錯了,請重新輸入--------')