欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用Python實現(xiàn)職工信息管理系統(tǒng)

 更新時間:2020年12月30日 08:34:53   作者:Miku丨無形  
這篇文章主要介紹了用Python實現(xiàn)職工信息管理系統(tǒng),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

想要實現(xiàn)一個職工管理系統(tǒng)
首先我們看一下想要實現(xiàn)什么功能
最基礎的增刪改查肯定要實現(xiàn)的
然后增加一下數(shù)據(jù)顯示、數(shù)據(jù)排序、數(shù)據(jù)統(tǒng)計功能

下面直接上代碼

增加職工數(shù)據(jù)

# 接收用戶收入
id = input('請輸入職工號')
name = input('請輸入姓名')
sex = input('請輸入性別')
age = input('請輸入年齡')
education = input('請輸入學歷')
address = input('請輸入住址')
photonumber = input('請輸入電話')
money = input('請輸入工資')
# 向列表中添加數(shù)據(jù)
data.append([id, name, sex, age, education, address, photonumber, money])
print('添加成功')
# 調(diào)用保存函數(shù) 保存數(shù)據(jù)
save()

刪除職工數(shù)據(jù)

id = input('請輸入你要修改的職工編號')
ids = [i[0] for i in data]
if id not in ids:
  print('您查詢的職工不存在')
  return
else:
  del data[ids.index(id)]
  print('刪除成功')
save()

查詢職工數(shù)據(jù)

# 選擇查詢目標
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()

修改職工信息

id = input('請輸入你要修改的職工編號')
ids = [i[0] for i in data]
if id not in ids:
  print('您查詢的職工不存在')
  return
else:
  # 輸入要修改的數(shù)據(jù)
  name = input('請輸入姓名')
  sex = input('請輸入性別')
  age = input('請輸入年齡')
  education = input('請輸入學歷')
  address = input('請輸入住址')
  photonumber = input('請輸入電話')
  money = input('請輸入工資')
  # 修改數(shù)據(jù)
  data[ids.index(id)] = [id, name, sex, age, education, address, photonumber, money]
  print('修改成功')
save()

排序函數(shù)

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

統(tǒng)計函數(shù)

counts = {}
# 統(tǒng)計每個工資的人數(shù)
for i in data:
  counts[int(i[-1])] = counts.get(i[-1], 0) + 1
# 按照人數(shù)多少排序
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))

顯示函數(shù)

# 打印標題
print('職工號 姓名 性別 年齡 學歷 住址 電話 工資')
# 遍歷數(shù)據(jù)列表 然后打印數(shù)據(jù)
for i in data:
 for j in i:
   print(j, end=' ')
 print()

讀取保存函數(shù)

def save(): # 保存函數(shù)
  # 打開文件,寫入數(shù)據(jù)
  with open('數(shù)據(jù).csv','w') as j:
    for i in data:
      j.write(','.join(i)+'\n')
  j.close()


def load(): # 讀取函數(shù)
  # 讀取文件
  with open('數(shù)據(jù).csv','r') as j:
    # 讀取每行數(shù)據(jù)
    for i in j.readlines():
      # 清洗掉換行符 然后以逗號為間隔符分割
      data.append(i.replace('\n','').split(','))
  j.close()

總結整體代碼:

def add(): # 添加數(shù)據(jù)函數(shù)
  # 接收用戶收入
  id = input('請輸入職工號')
  name = input('請輸入姓名')
  sex = input('請輸入性別')
  age = input('請輸入年齡')
  education = input('請輸入學歷')
  address = input('請輸入住址')
  photonumber = input('請輸入電話')
  money = input('請輸入工資')
  # 向列表中添加數(shù)據(jù)
  data.append([id, name, sex, age, education, address, photonumber, money])
  print('添加成功')
  # 調(diào)用保存函數(shù) 保存數(shù)據(jù)
  save()


def show(): # 顯示函數(shù)
  # 打印標題
  print('職工號 姓名 性別 年齡 學歷 住址 電話 工資')
  # 遍歷數(shù)據(jù)列表 然后打印數(shù)據(jù)
  for i in data:
    for j in i:
      print(j, end=' ')
    print()


def quety(): # 查詢函數(shù)
  # 選擇查詢目標
  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(): # 修改函數(shù)
  # 原理同上
  id = input('請輸入你要修改的職工編號')
  ids = [i[0] for i in data]
  if id not in ids:
    print('您查詢的職工不存在')
    return
  else:
    # 輸入要修改的數(shù)據(jù)
    name = input('請輸入姓名')
    sex = input('請輸入性別')
    age = input('請輸入年齡')
    education = input('請輸入學歷')
    address = input('請輸入住址')
    photonumber = input('請輸入電話')
    money = input('請輸入工資')
    # 修改數(shù)據(jù)
    data[ids.index(id)] = [id, name, sex, age, education, address, photonumber, money]
    print('修改成功')
  save()


def sort(): # 排序函數(shù)
  global data
  data = sorted(data, key=lambda x: x[1])


def statistics(): # 統(tǒng)計函數(shù)
  counts = {}
  # 統(tǒng)計每個工資的人數(shù)
  for i in data:
    counts[int(i[-1])] = counts.get(i[-1], 0) + 1
  # 按照人數(shù)多少排序
  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(): # 刪除函數(shù)
  # 原理同上
  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(): # 保存函數(shù)
  # 打開文件,寫入數(shù)據(jù)
  with open('數(shù)據(jù).csv','w') as j:
    for i in data:
      j.write(','.join(i)+'\n')
  j.close()


def load(): # 讀取函數(shù)
  # 讀取文件
  with open('數(shù)據(jù).csv','r') as j:
    # 讀取每行數(shù)據(jù)
    for i in j.readlines():
      # 清洗掉換行符 然后以逗號為間隔符分割
      data.append(i.replace('\n','').split(','))
  j.close()


if __name__ == '__main__':
  data = [] # 數(shù)據(jù)保存列表
  # 讀取文件 如果文件不存在 報錯跳過 無視
  try:
    load()
  except FileNotFoundError:
    pass
  while True:
    # 根據(jù)玩家的輸入 選擇相應的功能
    choice = int(input('1.添加職工數(shù)據(jù)\n2.顯示職工數(shù)據(jù)\n3.查詢職工數(shù)據(jù)\n4.修改職工數(shù)據(jù)\n5.刪除職工數(shù)據(jù)\n6.保存職工數(shù)據(jù)\n7.排序職工數(shù)據(jù)\n8.統(tǒng)計職工工資數(shù)據(jù)\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實現(xiàn)職工信息管理系統(tǒng)的文章就介紹到這了,更多相關Python 職工信息管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何將tensorflow訓練好的模型移植到Android (MNIST手寫數(shù)字識別)

    如何將tensorflow訓練好的模型移植到Android (MNIST手寫數(shù)字識別)

    這篇文章主要介紹了將tensorflow訓練好的模型移植到Android (MNIST手寫數(shù)字識別),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 利用python list完成最簡單的DB連接池方法

    利用python list完成最簡單的DB連接池方法

    這篇文章主要介紹了利用python list完成最簡單的DB連接池方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python?Httpx庫實現(xiàn)超跑式網(wǎng)絡請求用法實例

    Python?Httpx庫實現(xiàn)超跑式網(wǎng)絡請求用法實例

    這篇文章主要為大家介紹了Python?Httpx庫實現(xiàn)超跑式網(wǎng)絡請求用法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • python數(shù)據(jù)分析apply(),map(),applymap()用法

    python數(shù)據(jù)分析apply(),map(),applymap()用法

    這篇文章主要介紹了python數(shù)據(jù)分析apply(),map(),applymap()用法,可以方便地實現(xiàn)對批量數(shù)據(jù)的自定義操作。用法歸納如下,需要的朋友可以參考一下
    2022-03-03
  • Python中對象的引用與復制代碼示例

    Python中對象的引用與復制代碼示例

    這篇文章主要介紹了Python中對象的引用與復制代碼示例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • Python內(nèi)存映射文件讀寫方式

    Python內(nèi)存映射文件讀寫方式

    這篇文章主要介紹了Python內(nèi)存映射文件讀寫方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 超簡單的Matplotlib安裝與配置教程

    超簡單的Matplotlib安裝與配置教程

    Matplotlib是Python的第三方繪圖庫,它非常類似于MATLAB,在使用Matplotlib軟件包之前需要對其進行安裝,這篇文章主要給大家介紹了關于Matplotlib安裝與配置的相關資料,需要的朋友可以參考下
    2023-09-09
  • 玩轉Python發(fā)短信的實現(xiàn)

    玩轉Python發(fā)短信的實現(xiàn)

    用Python實現(xiàn)發(fā)短信功能,當監(jiān)控到問題出現(xiàn)時,短信報警,使問題能得到及時的處理。當然,我相信,用Python發(fā)短信應用場景不止此一處,下面我們開始Python發(fā)短信的實現(xiàn),感興趣的朋友參考下吧
    2022-01-01
  • Python算法的時間復雜度和空間復雜度(實例解析)

    Python算法的時間復雜度和空間復雜度(實例解析)

    算法復雜度分為時間復雜度和空間復雜度,簡單而講時間復雜度指的是語句執(zhí)行次數(shù),空間復雜度指的是算法所占的存儲空間,本文通過代碼給大家介紹Python算法的時間復雜度和空間復雜度問題,感興趣的朋友一起看看吧
    2019-11-11
  • python 3利用BeautifulSoup抓取div標簽的方法示例

    python 3利用BeautifulSoup抓取div標簽的方法示例

    這篇文章主要介紹了python 3利用BeautifulSoup抓取div標簽的方法,文中給出了詳細的示例代碼供大家參考學習,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-05-05

最新評論