7-8. 人力資源。建立乙個簡單的雇員姓名和編號的程式。讓使用者輸入一組雇員姓名和編號。你的程式可以提供按照姓名排序輸出的功能,雇員姓名顯示在前面,後面是對應的雇員編號。附加題:新增一項功能,按照雇員編號的順序輸出資料。
用的python3.4 排序函式sorted整了半天
特別注意的是3.4對字典的排序用的是
sorted_x = sorted(dict.items(), key=lambda a:a[0],reverse=false)
db={}
global lenb
lenb=0
def insert():
'''負責插入資料的操作
''' global lenb
prompt='請輸入你要新增的資料:'
done=false
while not done:
try:
db[input('雇員')]=int(input('編號'))
except:
print('輸入錯誤')
else:
done=true
lenb=lenb+1
def sort_name():
'''按姓名排序並顯示
''' sorted_x = sorted(db.items(), key=lambda a:a[0])
for i in range(0,lenb):
print('雇員:%s 編號:%s '%(sorted_x[i][0],sorted_x[i][1]))
def sort_id():
'''按編號排序並顯示
''' sorted_x = sorted(db.items(), key=lambda a:a[1])
for i in range(0,lenb):
print('雇員:%s 編號:%s '%(sorted_x[i][0],sorted_x[i][1]))
def manage():
'''管理選單
''' prompt = """
(1)插入資料
(2)顯示按姓名排序
(3)顯示按編號排序
(q)退出
enter choice: """
done = false
while not done:
chosen = false
while not chosen:
try:
choice = input(prompt).strip()[0].lower()
except (eoferror, keyboardinterrupt):
choice = 'q'
print ('\nyou picked: [%s]' % choice)
if choice not in '123q':
print ('invalid option, try again')
else:
if choice == 'q':
done = true
break
if choice == '2':
sort_name()
if choice == '3':
sort_id()
if choice == '1':
insert()
if __name__ == '__main__':
manage()
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...
python的練習題 Python練習題
1 使用while迴圈輸入1 2 3 4 5 6 8 9 10 i 0while i 10 i i 1 if i 7 continue print i 結果 e python python python test.py1 2 求1 100的所有數的和 i 0sum 0 while i 100 i 1...
程式設計練習題
程式student create student studs,int n student 是乙個結構型別,包含姓名 成績和指標域。studs 陣列中儲存了n個 student 記錄。create 函式的功能是編寫根據 studs 陣列建立乙個鍊錶,鍊錶中結點按成績降序排列,函式返回煉表頭指標。inc...