python員工管理系統(基礎版)

  各位小夥伴們你們好,最近自學python已經差很少把基礎學完了,如今運用這些基礎知識寫了一個簡單版本的員工管理系統html

由於在大學裏我是學過java的,因此,當有了必定的基礎和薰陶外,真心以爲python比java要簡單的多,並且學起來特快,業務java

邏輯沒那麼複雜,理解起來更好理解,接下里就慢慢給你們講講思路:python

 (尤爲是初學者,不要只顧着敲,要多想一想業務邏輯,思路纔是最重要的sql

  先放幾張圖,給你們看看運行效果,再慢慢跟你們層層剖析數據庫

  

  

  

  

 看到這些圖片,是否是以爲挺簡單的,確實,只要掌握了基礎,天然這些是有把握的敲出來的ide

這次這個員工管理系統大體的功能就是 增刪改查,就是咱們俗稱的curd,只是這些都是假數據,並無鏈接數據庫Mysql的那種函數

第一部分:學習

1.1菜單欄的展現網站

這個菜單欄99%的同窗均可以敲得出來,就比如1+1=2那樣簡單,可是這裏有個小注意的地方,爲了代碼的美觀性和避免冗長,通常spa

都是封裝在一個函數裏,把它獨立成塊,你能夠就放在同一個文件裏,也能夠另外新建一個python文件,導入並調用便可

  

  =

  我就是創建了兩個文件夾,把他單獨寫在另一個文件夾中,可是必定要記得導入import

1.2如何循環而且選擇操做

  第一行的while True 時起着循環的做用

while True:
    employee_tools.show_menu()
    action_str = input("請輸入您的操做:")
    if action_str == "1":
        # 1.添加員工信息
        employee_tools.add_info()
    elif action_str == "2":
        # 2.修改員工信息
        employee_tools.update_info()
    elif action_str == "3":
        # 3.刪除員工信息
        employee_tools.delete_info()
    elif action_str == "4":
        # 4.顯示全部員工信息
        employee_tools.show_all_info()
    elif action_str == "5":
        # 5.退出系統
        print("歡迎您再次使用員工管理系統!!!")
        break
    else:
        # 輸入其餘任意數字
        print("您輸入的有誤,請從新輸入:")

第二部分:增刪查改的功能實現(儘可能別看代碼,多看思路,邏輯思惟纔是最重要的!!!)

1.添加員工 實現的步驟:

1.輸入員工的工號、姓名、性別、工資等等
1.1判斷員工編號是否存在,若是存在則拒絕添加,提示「編號已存在,不能重複添加」
1.2若是不重複,則繼續接下來的操做
2.把這些信息保存在一個字典裏(鍵值對)
2.1員工工號做爲鍵,剩下的屬性(姓名、性別、工資)做爲值,
      這纔是最重要的,由於id是惟一的,後面的修改、刪除都是以id爲突破口,這點必定要重視

2.2相似: '1001' {'name':xxx, 'sex':xxx, 'salary':xxx}
3.提示添加成功

def add_info():
    """添加員工信息"""
    print("添加員工===>")
    employ_id = input("請輸入要添加員工的工號:")
    # 先找到全部的字典的鍵,再將這些鍵轉化爲列表的形式
    all_id = list(employee_dict.keys())
    if employ_id in all_id:
        print("員工工號已存在,不能重複添加!!!")
        return
    employ_name = input("請輸入要添加員工的姓名:")
    employ_sex = input("請輸入要添加員工的性別:")
    employ_salary = input("請輸入要添加員工的工資:")
    # 把這些信息保存在一個字典裏
    info_dict = {"name": employ_name, "sex": employ_sex, "salary": employ_salary}
    # 再放在大字典裏,怎麼放,根據id號相對應
    employee_dict[employ_id] = info_dict
    print("工號爲 %s 的員工信息添加成功!!!" % employ_id)
    # 這裏只是起到打印觀察的做用,可註釋掉下面這一行
    # 說明僅僅仍是放在字典裏面,畢竟輸出是字典形式,怎麼顯示那是第四個功能該作的事
    # print(employee_dict)   # {'1001': {'name': '張三', 'sex': '男', 'salary': '5000'}}

2.修改員工 實現的步驟:

 1.拿到要修改員工的工號
  1.1若是工號不存在,則提示錯誤信息,終止函數執行,返回
   1.2若是存在,則修改對應的信息
    1.2.1 顯示原來的信息再修改
2.由於並非全部的信息都須要修改,萬一不須要修改的怎麼辦?如何簡化使用操做?
   2.1判斷修改時輸入的是否是唯恐,爲空就保持不變,不爲空則說明修改了
def update_info():
    """修改員工信息"""
    print("修改員工===>")
    employ_id = input("請輸入你要修改的員工的工號")
    all_id = list(employee_dict.keys())
    if employ_id not in all_id:
        print("該員工工號不存在,不能進行修改!!!")
        return
    new_name = input("姓名是:%s   修改後的姓名:" % employee_dict[employ_id]['name'])
    new_sex = input("性別是:%s   修改後的性別:" % employee_dict[employ_id]['sex'])
    new_salary = input("工資是:%s   修改後的工資:" % employee_dict[employ_id]['salary'])
    # 由於並非全部的信息都須要修改,萬一不須要修改的怎麼辦?如何簡化使用操做?
    if new_name != "":
        employee_dict[employ_id]['name'] = new_name
    if new_sex != "":
        employee_dict[employ_id]['sex'] = new_sex
    if new_salary != "":
        employee_dict[employ_id]['salary'] = new_salary
    print("工號爲 %s 的員工信息修改爲功!!!" % employ_id)

3.刪除員工    

# 實現步驟:1.輸入要刪除員工的工號
# 2.判斷工號是否存在,不存在就給出提示信息,終止函數執行
# 3.若是存在,則直接刪除
def delete_info():
    """刪除員工信息"""
    print("刪除員工===>")
    employ_id = input("請輸入你要刪除的員工的工號")
    all_id = list(employee_dict.keys())
    if employ_id not in all_id:
        print("該員工工號不存在,不能進行刪除!!!")
        return
    else:
        # 直接刪除這個字典
        del employee_dict[employ_id]
    print("工號爲 %s 的員工信息刪除成功!!!" % employ_id)

4.顯示全部員工信息

# 實現步驟:1.判斷員工是否存在,若是不存在則提示返回
# 1.1怎麼判斷?當列表長度爲0時,則說明不存在
# 2.若是存在,就打印表頭
# 3.打印分割線
# 4.遍歷員工信息,依次輸出字典信息
def show_all_info():
    """顯示員工信息"""
    print("顯示全部員工信息===>")
    # 判斷員工是否存在
    if len(list(employee_dict.keys())) == 0:
        print("當前沒有任何的員工信息,請先選擇操做 1,添加員工!!!")
        # return 下方的代碼不會被執行
        return
    # 打印表頭
    print("-" * 40)
    for people in ["工號", "姓名", "性別", "工資"]:
        print(people, end="\t\t")
    # 打印分割線
        # 增長換行
    print("")
    print("-" * 40)
    # 遍歷員工信息,依次輸出字典信息
    # 這個items方法是把字典轉換成列表的方法,須特別注意
    for jober in employee_dict.items():
        print("%s\t\t%s\t\t%s\t\t\t%s" % (jober[0],
                                        jober[1]['name'],
                                        jober[1]['sex'],
                                        jober[1]['salary']))
    print("-" * 40)

以上就是增刪改查四個部分的功能實現,思路都寫的很是詳細,但願初學者們能重視思路的重要性

反思幾個問題:

爲何哪裏都有這段?

employ_id = input("請輸入你要(刪除、修改、添加)的員工的工號")
all_id = list(employee_dict.keys())
if employ_id not in all_id:
print("該員工工號不存在,不能進行(修改、刪除、添加)!!!")
return

 前面我就提到過,id此時是惟一能提供識別的

還有,爲何哪段都寫呢,由於每個函數都是獨立的,定義在函數內部的,你在另一個函數不能直接拿來用,涉及到局部變量和全局變量的知識

在專門定義函數的最上面,不要忘記這行代碼,這是大字典,在寫第一個功能前,就必須用到,放在外面第一行,其餘功能的實現也會用到

提示:在這個tools文件中,第一行須要加一行代碼:
# 存儲全部的員工信息,空數據時
employee_dict = {}

 ③有的同窗會問,我能夠在一個python文件中,實現這些全部功能嗎?

固然能夠,由於我們這隻有四個主要功能,數量基數小,放在一個文件中寫是絕對能夠的,那做爲技術通常的小編我爲何又要分開寫呢?

由於,企業的開發確定要實現的功能多,放在不一樣的文件中利於項目後期的版本修改和維護,添加或者修改某個功能都會方便不少,這麼說吧,

在後期維護中,代碼能不動的儘可能別動,若是你把全部的東西都放在一個文件中,那改起來若是不當心,牽一髮而動全身,後悔莫及

有沒有什麼值得推薦的自學python的網站呢?

接下來,小編我就把本身以爲質量還能夠的教學視頻連接發在這裏:本身用心慢慢看哦(其實B站資源很豐富的)

https://www.bilibili.com/video/av14184325/?spm_id_from=333.788.videocard.1

若是你以爲看視頻太長,太耗費時間,能夠去菜鳥教程上面看文檔,(有的地方有點繞,建議最好仍是看視頻)

https://www.runoob.com/python3/python3-tutorial.html

最後的最後,我把這個簡易版的員工管理系統代碼全搬出來,小夥伴們有須要的能夠直接複製,你只須要創建兩個文件就行

1.employee_main.py文件

import employee_tools
while True:
    employee_tools.show_menu()
    action_str = input("請輸入您的操做:")
    if action_str == "1":
        # 1.添加員工信息
        employee_tools.add_info()
    elif action_str == "2":
        # 2.修改員工信息
        employee_tools.update_info()
    elif action_str == "3":
        # 3.刪除員工信息
        employee_tools.delete_info()
    elif action_str == "4":
        # 4.顯示全部員工信息
        employee_tools.show_all_info()
    elif action_str == "5":
        # 5.退出系統
        print("歡迎您再次使用員工管理系統!!!")
        break
    else:
        # 輸入其餘任意數字
        print("您輸入的有誤,請從新輸入:")

2.employee_tools.py文件

# 存儲全部的員工信息,空數據時
# employee_dict = {}

# 這是本來就有固定數據時的字典
employee_dict = {'1001': {'name': '張三', 'sex': '', 'salary': '5000'},
                 '1002': {'name': '李四', 'sex': '', 'salary': '7000'},
                 '1003': {'name': '小紅', 'sex': '', 'salary': '9000'},
                 }


def show_menu():
    """進入菜單頁面"""
    print("*" * 11+"員工管理系統 V_1.0"+"*" * 11)
    # print("員工管理系統 V1.0")
    print("一、添加員工信息")
    print("二、修改員工信息")
    print("三、刪除員工信息")
    print("四、顯示全部員工信息")
    print("五、退出系統")
    print("*" * 40)


def add_info():
    """添加員工信息"""
    # 實現步驟:1.輸入員工的工號、姓名、性別、工資等等
    #             1.1判斷員工編號是否存在,若是存在則拒絕添加,提示「編號已存在,不能重複添加」
    #             1.2若是不重複,則繼續接下來的操做
    #           2.把這些信息保存在一個字典裏
    #             2.1員工工號做爲鍵,剩下的屬性(姓名、性別、工資)做爲值
    #             2.2相似: '1001' {'name':xxx, 'sex':xxx, 'salary':xxx}
    #           3.提示添加成功
    print("添加員工===>")
    employ_id = input("請輸入要添加員工的工號:")
    # 先找到全部的字典的鍵,再將這些鍵轉化爲列表的形式
    all_id = list(employee_dict.keys())
    if employ_id in all_id:
        print("員工工號已存在,不能重複添加!!!")
        return
    employ_name = input("請輸入要添加員工的姓名:")
    employ_sex = input("請輸入要添加員工的性別:")
    employ_salary = input("請輸入要添加員工的工資:")
    # 把這些信息保存在一個字典裏
    info_dict = {"name": employ_name, "sex": employ_sex, "salary": employ_salary}
    # 再放在大字典裏,怎麼放,根據id號相對應
    employee_dict[employ_id] = info_dict
    print("工號爲 %s 的員工信息添加成功!!!" % employ_id)
    # 這裏只是起到打印觀察的做用,可註釋掉下面這一行
    # 說明僅僅仍是放在字典裏面,畢竟輸出是字典形式,怎麼顯示那是第四個功能該作的事
    # print(employee_dict)   # {'1001': {'name': '張三', 'sex': '男', 'salary': '5000'}}


def update_info():
    """修改員工信息"""
    print("修改員工===>")
    # 實現步驟 1.拿到要修改員工的工號
    #          1.1若是工號不存在,則提示錯誤信息,終止函數執行,返回
    #          1.2若是存在,則修改對應的信息
    #               1.2.1 顯示原來的信息再修改
    #          2.由於並非全部的信息都須要修改,萬一不須要修改的怎麼辦?如何簡化使用操做?
    #             2.1判斷修改時輸入的是否是唯恐,爲空就保持不變,不爲空則說明修改了
    employ_id = input("請輸入你要修改的員工的工號")
    all_id = list(employee_dict.keys())
    if employ_id not in all_id:
        print("該員工工號不存在,不能進行修改!!!")
        return
    new_name = input("姓名是:%s   修改後的姓名:" % employee_dict[employ_id]['name'])
    new_sex = input("性別是:%s   修改後的性別:" % employee_dict[employ_id]['sex'])
    new_salary = input("工資是:%s   修改後的工資:" % employee_dict[employ_id]['salary'])
    # 由於並非全部的信息都須要修改,萬一不須要修改的怎麼辦?如何簡化使用操做?
    if new_name != "":
        employee_dict[employ_id]['name'] = new_name
    if new_sex != "":
        employee_dict[employ_id]['sex'] = new_sex
    if new_salary != "":
        employee_dict[employ_id]['salary'] = new_salary
    print("工號爲 %s 的員工信息修改爲功!!!" % employ_id)


def delete_info():
    """刪除員工信息"""
    print("刪除員工===>")
    # 實現步驟:1.輸入要刪除員工的工號
    #           2.判斷工號是否存在,不存在就給出提示信息,終止函數執行
    #           3.若是存在,則直接刪除
    employ_id = input("請輸入你要刪除的員工的工號")
    all_id = list(employee_dict.keys())
    if employ_id not in all_id:
        print("該員工工號不存在,不能進行刪除!!!")
        return
    else:
        # 直接刪除這個字典
        del employee_dict[employ_id]
    print("工號爲 %s 的員工信息刪除成功!!!" % employ_id)


def show_all_info():
    """顯示員工信息"""
    print("顯示全部員工信息===>")
    # 實現步驟:1.判斷員工是否存在,若是不存在則提示返回
    #                   1.1怎麼判斷?當列表長度爲0時,則說明不存在
    #           2.若是存在,就打印表頭
    #           3.打印分割線
    #           4.遍歷員工信息,依次輸出字典信息

    # 判斷員工是否存在
    if len(list(employee_dict.keys())) == 0:
        print("當前沒有任何的員工信息,請先選擇操做 1,添加員工!!!")
        # return 下方的代碼不會被執行
        return
    # 打印表頭
    print("-" * 40)
    for people in ["工號", "姓名", "性別", "工資"]:
        print(people, end="\t\t")
    # 打印分割線
        # 增長換行
    print("")
    print("-" * 40)
    # 遍歷員工信息,依次輸出字典信息
    # 這個items方法是把字典轉換成列表的方法,須特別注意
    for jober in employee_dict.items():
        print("%s\t\t%s\t\t%s\t\t\t%s" % (jober[0],
                                        jober[1]['name'],
                                        jober[1]['sex'],
                                        jober[1]['salary']))
    print("-" * 40)

歡迎各位大佬評論和交流,我們一塊兒學習,一塊兒進步

相關文章
相關標籤/搜索