acwing 二分圖的最大匹配(匈牙利演算法)
阿新 • • 發佈:2022-03-17
user_dict = {} def userid(user_id, remark): if user_id in user_dict: input_code = input('請輸入密碼:').strip() if input_code == user_dict.get(user_id).get('密碼'): print('密碼正確') return user_id else: print('密碼錯誤') # input_id = input('請輸入員工編號').strip() # return userid(input_id, remark) else: print('請輸入正確編號') # input_id = input('請輸入員工編號').strip() # return userid(input_id, remark) def check_isdigit(a, remark): if a.isdigit(): return int(a) else: input.a = input('請輸入%s:' % (remark)).strip() return check_isdigit(input.a, remark) def add_user(): user_id = input('請輸入員工編號:') if user_id not in user_dict: name = input('請輸入名字:').strip() code = input('請輸入密碼:').strip() age = input('請輸入年齡:').strip() salary = input('請輸入薪水:').strip() user_dict1 = { '姓名': name, '密碼': code, '年齡': age, '薪水': salary, } user_dict[user_id] = user_dict1 print(user_dict) else: print('員工編號已存在') def updata_user(): user_id = userid(input('請輸入員工編號:').strip(), '員工編號') print(''' 1.修改年齡 2.修改薪水 ''') choice = input('請輸入功能編號:').strip() if choice == '1': new_age = check_isdigit(input('請輸入修改年齡:').strip(), '員工年齡') user_dict.get(user_id)['年齡'] = new_age print(f'編號{user_id}修改為', user_dict[user_id]) elif choice == '2': new_salary = check_isdigit(input('請輸入新的薪水:').strip(), '員工薪水') user_dict.get(user_id)['薪水'] = new_salary print(f'編號{user_id}修改為', user_dict[user_id]) else: print('請輸入正確編號') def del_user(): user_id = userid(input('請輸入員工編號:').strip(), '員工編號') res = user_dict.pop(user_id) print(f'編號{user_id}員工已刪除', res) def find_user(): user_id = userid(input('請輸入員工編號:').strip(), '員工編號') print(f""" ------------emp info------------ 員工編號:{user_id} 員工姓名:{user_dict.get(user_id).get('姓名')} 員工年齡:{user_dict.get(user_id).get('年齡')} 員工薪資:{user_dict.get(user_id).get('薪水')} ---------------end-------------- """) def find_all_user(): for k in user_dict: print(f""" ------------emp info------------ 員工編號:{k} 員工姓名:{user_dict.get(k).get('姓名')} 員工年齡:{user_dict.get(k).get('年齡')} 員工薪資:{user_dict.get(k).get('薪水')} ---------------end-------------- """) func_dict = { '1': add_user, '2': updata_user, '3': del_user, '4': find_user, '5': find_all_user, } while True: print(''' 1.新增員工資訊 2.修改員工資訊 3.刪除員工資訊 4.檢視單個員工資訊 5.檢視所有員工資訊 6.退出 ''') choice = input('請輸入功能指令:').strip() if choice in func_dict: func_dict.get(choice)() else: if choice == '6': break else: print('請輸入正確功能指令')