用Python實現職工信息管理系統

2021-01-11 Miku丨無形

想要實現一個職工管理系統

首先我們看一下想要實現什麼功能

最基礎的增刪改查肯定要實現的

然後增加一下數據顯示、數據排序、數據統計功能

下面直接上代碼

1. 增加職工數據

```python

# 接收用戶收入

id = input('請輸入職工號')

name = input('請輸入姓名')

sex = input('請輸入性別')

age = input('請輸入年齡')

education = input('請輸入學歷')

address = input('請輸入住址')

photonumber = input('請輸入電話')

money = input('請輸入工資')

# 向列表中添加數據

data.append([id, name, sex, age, education, address, photonumber, money])

print('添加成功')

# 調用保存函數 保存數據

save()

```

2. 刪除職工數據

```python

id = input('請輸入你要修改的職工編號')

ids = [i[0] for i in data]

if id not in ids:

print('您查詢的職工不存在')

return

else:

del data[ids.index(id)]

print('刪除成功')

save()

```

3. 查詢職工數據

```python

# 選擇查詢目標

flag = int(input('1.按照職工編號查詢 2.按照職工姓名查詢'))

if flag == 1:

id = input('輸入職工編號')

# 職工編號列表

ids = [i[0] for i in data]

# 判斷輸入的編號是否存在

if id not in ids:

print('您查詢的職工不存在')

return

else:

print('職工號 姓名 性別 年齡 學歷 住址 電話 工資')

# 列印該編號的信息

for i in data[ids.index(id)]:

print(i, end=' ')

print()

else:

name = input('輸入職工姓名')

# 職工姓名列表

names = [i[1] for i in data]

# 判斷輸入的姓名是否存在

if name not in names:

print('您查詢的職工不存在')

return

else:

print('職工號 姓名 性別 年齡 學歷 住址 電話 工資')

# 同上

for i in data[names.index(name)]:

print(i, end=' ')

print()

```

4. 修改職工信息

```python

id = input('請輸入你要修改的職工編號')

ids = [i[0] for i in data]

if id not in ids:

print('您查詢的職工不存在')

return

else:

# 輸入要修改的數據

name = input('請輸入姓名')

sex = input('請輸入性別')

age = input('請輸入年齡')

education = input('請輸入學歷')

address = input('請輸入住址')

photonumber = input('請輸入電話')

money = input('請輸入工資')

# 修改數據

data[ids.index(id)] = [id, name, sex, age, education, address, photonumber, money]

print('修改成功')

save()

```

)

5. 排序函數

```python

global data

data = sorted(data, key=lambda x: x[1])

```

6. 統計函數

```python

counts = {}

# 統計每個工資的人數

for i in data:

counts[int(i[-1])] = counts.get(i[-1], 0) + 1

# 按照人數多少排序

counts = dict(sorted(counts.items(), key=lambda x: x[1], reverse=True))

# 將結果列印

for money, count in counts.items():

print('{0:<10}{1:>5}'.format(money, count))

print('工資最多的是:', max(counts))

print('工資最少的是:', min(counts))

```

7. 顯示函數

```python

# 列印標題

print('職工號 姓名 性別 年齡 學歷 住址 電話 工資')

# 遍歷數據列表 然後列印數據

for i in data:

for j in i:

print(j, end=' ')

print()

```

8. 讀取保存函數

```python

def save(): # 保存函數

# 打開文件,寫入數據

with open('數據.csv','w') as j:

for i in data:

j.write(','.join(i)+'\n')

j.close()

def load(): # 讀取函數

# 讀取文件

with open('數據.csv','r') as j:

# 讀取每行數據

for i in j.readlines():

# 清洗掉換行符 然後以逗號為間隔符分割

data.append(i.replace('\n','').split(','))

j.close()

```

總結整體代碼:

```python

def add(): # 添加數據函數

# 接收用戶收入

id = input('請輸入職工號')

name = input('請輸入姓名')

sex = input('請輸入性別')

age = input('請輸入年齡')

education = input('請輸入學歷')

address = input('請輸入住址')

photonumber = input('請輸入電話')

money = input('請輸入工資')

# 向列表中添加數據

data.append([id, name, sex, age, education, address, photonumber, money])

print('添加成功')

# 調用保存函數 保存數據

save()

def show(): # 顯示函數

# 列印標題

print('職工號 姓名 性別 年齡 學歷 住址 電話 工資')

# 遍歷數據列表 然後列印數據

for i in data:

for j in i:

print(j, end=' ')

print()

def quety(): # 查詢函數

# 選擇查詢目標

flag = int(input('1.按照職工編號查詢 2.按照職工姓名查詢'))

if flag == 1:

id = input('輸入職工編號')

# 職工編號列表

ids = [i[0] for i in data]

# 判斷輸入的編號是否存在

if id not in ids:

print('您查詢的職工不存在')

return

else:

print('職工號 姓名 性別 年齡 學歷 住址 電話 工資')

# 列印該編號的信息

for i in data[ids.index(id)]:

print(i, end=' ')

print()

else:

name = input('輸入職工姓名')

# 職工姓名列表

names = [i[1] for i in data]

# 判斷輸入的姓名是否存在

if name not in names:

print('您查詢的職工不存在')

return

else:

print('職工號 姓名 性別 年齡 學歷 住址 電話 工資')

# 同上

for i in data[names.index(name)]:

print(i, end=' ')

print()

def modify(): # 修改函數

# 原理同上

id = input('請輸入你要修改的職工編號')

ids = [i[0] for i in data]

if id not in ids:

print('您查詢的職工不存在')

return

else:

# 輸入要修改的數據

name = input('請輸入姓名')

sex = input('請輸入性別')

age = input('請輸入年齡')

education = input('請輸入學歷')

address = input('請輸入住址')

photonumber = input('請輸入電話')

money = input('請輸入工資')

# 修改數據

data[ids.index(id)] = [id, name, sex, age, education, address, photonumber, money]

print('修改成功')

save()

def sort(): # 排序函數

global data

data = sorted(data, key=lambda x: x[1])

def statistics(): # 統計函數

counts = {}

# 統計每個工資的人數

for i in data:

counts[int(i[-1])] = counts.get(i[-1], 0) + 1

# 按照人數多少排序

counts = dict(sorted(counts.items(), key=lambda x: x[1], reverse=True))

# 將結果列印

for money, count in counts.items():

print('{0:<10}{1:>5}'.format(money, count))

print('工資最多的是:', max(counts))

print('工資最少的是:', min(counts))

def delete(): # 刪除函數

# 原理同上

id = input('請輸入你要修改的職工編號')

ids = [i[0] for i in data]

if id not in ids:

print('您查詢的職工不存在')

return

else:

del data[ids.index(id)]

print('刪除成功')

save()

def save(): # 保存函數

# 打開文件,寫入數據

with open('數據.csv','w') as j:

for i in data:

j.write(','.join(i)+'\n')

j.close()

def load(): # 讀取函數

# 讀取文件

with open('數據.csv','r') as j:

# 讀取每行數據

for i in j.readlines():

# 清洗掉換行符 然後以逗號為間隔符分割

data.append(i.replace('\n','').split(','))

j.close()

if __name__ == '__main__':

data = [] # 數據保存列表

# 讀取文件 如果文件不存在 報錯跳過 無視

try:

load()

except FileNotFoundError:

pass

while True:

# 根據玩家的輸入 選擇相應的功能

choice = int(input('1.添加職工數據\n2.顯示職工數據\n3.查詢職工數據\n4.修改職工數據\n5.刪除職工數據\n6.保存職工數據\n7.排序職工數據\n8.統計職工工資數據\n9.退出'))

if choice == 1:

add()

elif choice == 2:

show()

elif choice == 3:

quety()

elif choice == 4:

modify()

elif choice == 5:

delete()

elif choice == 6:

save()

elif choice == 7:

sort()

elif choice == 8:

statistics()

elif choice == 9:

print('退出程序')

break

```

如果有問題 評論解答

私信python可免費領取python資料

#Python知識分享#

相關焦點

  • python包管理之pip,其實很簡單!
    前言pip 是一個Python包管理工具,主要是用於安裝 PyPI 上的軟體包,可以替代 easy_install 工具。官方地址:https://pypi.python.org/pypi/pip下載解壓後,進入目錄直接運行python安裝就可以了python setup.py install(PS:Python3編譯安裝就默認帶了pip了)2、使用包管理軟體安裝Linux系統一般都是有自帶Python,如果只需要系統自帶的Python,直接從系統的包管理器安裝可以了
  • Java API + Python AI,實現跨平臺任務調度
    1,Java + Spring Boot開發Web服務是常用搭配,豐富的組件和易用的功能;2,Python在AI領域是主流開發語言,實現業務處理更方便,不需要代碼移植;3,招聘工程師組建技術團隊有針對性,發揮各自優勢。
  • 在維護職工權益上,這些企業的民主管理很nice(二)
    充分利用《京版集團信息》、公告公示欄、集團內外網、微信公眾號、微博等平臺,及時刊登重要信息、公布集團重大事務和重點工作動態,保證了幹部職工的知情權和民主參與、民主監督的權利。為推進廠務公開民主管理制度化、規範化,北京出版集團還制定了《工作手冊》。
  • 如何用python在工作中「偷懶」?
    (升職加薪了別忘了回來發紅包哦~)那麼如何將這些統統實現呢?我將這些分為以下幾類,大家可以自行評估,各取所需:系統錄入自動化由於你經常需要不斷的將一些信息錄入系統,每一次錄入的過程中你可能需要不斷的點擊一些按鈕,面對這種情況,完全可以寫一個自動腳本,每次代替你來執行這些點擊的行為。
  • 用Python實現簡易超市售貨系統
    今天來實現一個簡單的超市售貨系統數據存儲形式為json的數據首先是讀取數據,這裡用到的Python的json庫,用於處理json類型的數據```pythondef load(): # 數據讀取j = open('goods.txt', 'r', encoding='utf-8')# 逐行讀取文件中的數據
  • 華電集團系統6名幹部職工榮獲全國勞動模範榮譽稱號
    公司系統6名幹部職工榮獲全國勞動模範表彰。  全國勞動模範每五年評選一次,是黨中央、國務院授予在社會主義建設事業中作出重大貢獻者的榮譽稱號,通過逐級推薦、層層審核、徵求意見、媒體公示等評選程序,推選出各行業、各領域優秀勞動者代表。
  • Windows系統5月更新讓Python開箱即用
    Windows系統5月更新讓Python開箱即用 在Windows 10的CMD中輸入python命令,你會得到什麼?對不起,如果你沒有自己安裝過Python,系統將無法識別。在Windows 10的CMD中輸入python命令,你會得到什麼?對不起,如果你沒有自己安裝過Python,系統將無法識別。
  • 人生苦短,我用Python,那麼問題來了,普通人要學python嗎?
    從 2018 年起浙江省信息技術教材程式語言將會更換為 Python。2、Python納入山東省的小學教材課程,小學生都開始接觸 Python 語言了。3、Python 將加入全國計算機等級考試!教育部考試中心決定自2018年起,在計算機二級考試加入了「Python語言程序設計」科目。
  • 管理信息系統概述知識題2
    第3章管理信息系統概述    1.管理信息系統及其特點(領會)    1.1管理信息系統的定義    管理信息系統:是一個由人和計算機等組成的,能進行管理信息收集、傳遞、加工、保存、維護和使用的系統。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    (6套課程) 注:零基礎全能篇中,針對windows和liunx系統均有兩套課程可供選擇學習,單純學python,哪個系統都一樣,初學者只需選擇自己熟悉的系統學習相應課程即可。基於liunx系統的python教程,課程裡也有liunx操作的詳細教學,不用擔心學習時不會操作liunx系統。
  • 天弘實驗室儀器在線管理系統正式上線
    近期,天弘化學「實驗室儀器在線管理系統」正式上線運行,進一步提高了設備運營維護管理,簡化了操作流程,為天弘智能化工廠建設再創新篇。該系統研發歷時兩月之久,由天弘實驗室設備、技術骨幹人員組成的攻關小組,對在用190餘臺設備的基本信息、操作規程、維修記錄和實驗室200餘項實驗分析的分析標準等進行匯總、整理而成的。
  • Python開發:Win10創建定時任務執行Python腳本
    計算機管理→系統工具→任務計劃程序→創建基本任務    註:創建基礎任務時,選擇的執行程序是pythonw.exe,而不是python.exe,主要原因是pythonw.exe執行python程序是不會出現黑色控制臺窗口,python.exe
  • 設計院造價站完成天保系統職工身份核實工作
    國家林業和草原局政府網12月3日訊 受國家林業和草原局規劃財務司委託,近日,設計院造價站組建專項工作組,完成了對天保系統職工48萬餘人的身份信息核實工作。工作組對已上傳天保系統的職工身份掃描要件的真實性、準確性、完整性等多個方面進行了核實,核出3大類共計14項問題,總計8.94萬人(件),並根據核實結果對天保系統的管理制度及上報系統掃描件的要求提出可行性建議。
  • 中國石化化工銷售有限公司:倉儲信息管理系統
    未來幾年,隨著倉儲設施布局的完善,新建裝置投用,舊裝置改建逐步到位,圍繞倉儲經營管理創新,倉儲工作如何通過創新實現跨越式發展是必須要面對的問題。信息系統的建設,不僅可以成為倉儲管理工作的核心抓手,還可以為倉儲工作創新提供支撐,促成倉儲管理邁上更高的臺階。
  • 用R也可以跑Python了
    如果返回的是TRUE,那恭喜你,您的系統已經有Python啦。FALSE的話就得先去裝一下Python了。通過使用repl_python()函數,可以使Python和R交互。summary(py$t)在這種情況下,我會用R的summary()函數並訪問在python中創建的數據集T。此外,您可以使用ggplot2軟體包繪製折線圖。
  • 成都Python培訓周期多久
    不同的培訓學校有不同的教學理念和教學方法,所以一定要選擇適合自己的,python基礎和進階基本可以把你教會,但是項目發展就因人而異了,並不是培訓完就一定可以找到工作。成都python培訓機構魚龍混雜,沒有熟人的推薦,很容易會陷入一個只管招不管教的假機構裡。因此,大家一定要擦亮眼睛。推薦你去成都千鋒教育,千鋒教育在信息技術培訓行業工作十多年,教學質量有擔保。
  • 廣州Python測試培訓
    除了極少的事情不能做之外,其他基本上都可以用,黑客編程、爬蟲編寫、機器學習、人工智慧等等。 主要內容: Python不同系統環境搭建、Linux常用命令、編輯器使用、伺服器及搭建、Python基本語法、python控制語句、Python模塊、Python模塊設計、Python函數、Json數據操作、Python文件操作、Python異常處理。
  • 推廣使用職工電子檔案、統一申報材料 濰坊進一步規範企業職工退休...
    推廣使用職工電子檔案市直各參保企業在辦理職工退休前,應規範整理職工檔案,送市人社部門進行電子化掃描(具體地點另行通知)。辦理退休相關業務時,原則上不需再提供職工檔案原件;對電子檔案中無法辨別的關鍵信息,可要求用人單位提供職工檔案原件予以審核。鼓勵各縣市區對轄區企業職工檔案進行電子化掃描和信息化共享,支持使用電子檔案辦理企業職工退休業務。
  • python基礎知識科普:python的起源和發展史以及應用場景
    Bourne Shell作為UNIX系統的解釋器已經長期存在。UNIX的管理員們常常用shell去寫一些簡單的腳本,以進行一些系統維護的工作,比如定期備份、文件系統管理等等許多C語言下上百行的程序,在shell下只用幾行就可以完成。然而,shell的本質是調用命令。它並不是一個真正的語言。比如說,shell沒有數值型的數據類型,加法運算都很複雜。總之,shell不能全面的調動計算機的功能。
  • 如何在Python中實現交互兩個數
    如何在Python中實現交互兩個數【原理】生活中我們要交互兩個杯中的水,小朋友們都知道我們需要再拿一個空杯子來倒換水,今天我們來探索一下python中如何實現交互兩個數【編程】首先我們需要輸入兩個數x=int(input("x="))