最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

下面直接上代碼

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

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

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

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

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

# 選擇查詢目標(biāo)
flag = int(input('1.按照職工編號(hào)查詢 2.按照職工姓名查詢'))
if flag == 1:
  id = input('輸入職工編號(hào)')
  # 職工編號(hào)列表
  ids = [i[0] for i in data]
  # 判斷輸入的編號(hào)是否存在
  if id not in ids:
    print('您查詢的職工不存在')
    return
  else:
    print('職工號(hào) 姓名 性別 年齡 學(xué)歷 住址 電話 工資')
    # 打印該編號(hào)的信息
    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('職工號(hào) 姓名 性別 年齡 學(xué)歷 住址 電話 工資')
    # 同上
    for i in data[names.index(name)]:
      print(i, end=' ')
    print()

修改職工信息

id = input('請(qǐng)輸入你要修改的職工編號(hào)')
ids = [i[0] for i in data]
if id not in ids:
  print('您查詢的職工不存在')
  return
else:
  # 輸入要修改的數(shù)據(jù)
  name = input('請(qǐng)輸入姓名')
  sex = input('請(qǐng)輸入性別')
  age = input('請(qǐng)輸入年齡')
  education = input('請(qǐng)輸入學(xué)歷')
  address = input('請(qǐng)輸入住址')
  photonumber = input('請(qǐng)輸入電話')
  money = input('請(qǐng)輸入工資')
  # 修改數(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)計(jì)函數(shù)

counts = {}
# 統(tǒng)計(jì)每個(gè)工資的人數(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))
# 將結(jié)果打印
for money, count in counts.items():
  print('{0:<10}{1:>5}'.format(money, count))
print('工資最多的是:', max(counts))
print('工資最少的是:', min(counts))

顯示函數(shù)

# 打印標(biāo)題
print('職工號(hào) 姓名 性別 年齡 學(xué)歷 住址 電話 工資')
# 遍歷數(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():
      # 清洗掉換行符 然后以逗號(hào)為間隔符分割
      data.append(i.replace('\n','').split(','))
  j.close()

總結(jié)整體代碼:

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


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


def quety(): # 查詢函數(shù)
  # 選擇查詢目標(biāo)
  flag = int(input('1.按照職工編號(hào)查詢 2.按照職工姓名查詢'))
  if flag == 1:
    id = input('輸入職工編號(hào)')
    # 職工編號(hào)列表
    ids = [i[0] for i in data]
    # 判斷輸入的編號(hào)是否存在
    if id not in ids:
      print('您查詢的職工不存在')
      return
    else:
      print('職工號(hào) 姓名 性別 年齡 學(xué)歷 住址 電話 工資')
      # 打印該編號(hào)的信息
      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('職工號(hào) 姓名 性別 年齡 學(xué)歷 住址 電話 工資')
      # 同上
      for i in data[names.index(name)]:
        print(i, end=' ')
      print()


def modify(): # 修改函數(shù)
  # 原理同上
  id = input('請(qǐng)輸入你要修改的職工編號(hào)')
  ids = [i[0] for i in data]
  if id not in ids:
    print('您查詢的職工不存在')
    return
  else:
    # 輸入要修改的數(shù)據(jù)
    name = input('請(qǐng)輸入姓名')
    sex = input('請(qǐng)輸入性別')
    age = input('請(qǐng)輸入年齡')
    education = input('請(qǐng)輸入學(xué)歷')
    address = input('請(qǐng)輸入住址')
    photonumber = input('請(qǐng)輸入電話')
    money = input('請(qǐng)輸入工資')
    # 修改數(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)計(jì)函數(shù)
  counts = {}
  # 統(tǒng)計(jì)每個(gè)工資的人數(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))
  # 將結(jié)果打印
  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('請(qǐng)輸入你要修改的職工編號(hào)')
  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():
      # 清洗掉換行符 然后以逗號(hào)為間隔符分割
      data.append(i.replace('\n','').split(','))
  j.close()


if __name__ == '__main__':
  data = [] # 數(shù)據(jù)保存列表
  # 讀取文件 如果文件不存在 報(bào)錯(cuò)跳過 無視
  try:
    load()
  except FileNotFoundError:
    pass
  while True:
    # 根據(jù)玩家的輸入 選擇相應(yīng)的功能
    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)計(jì)職工工資數(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

到此這篇關(guān)于用Python實(shí)現(xiàn)職工信息管理系統(tǒng)的文章就介紹到這了,更多相關(guān)Python 職工信息管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python搭建代理IP池實(shí)現(xiàn)獲取IP的方法

    Python搭建代理IP池實(shí)現(xiàn)獲取IP的方法

    這篇文章主要介紹了Python搭建代理IP池實(shí)現(xiàn)獲取IP的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python代碼能做成軟件嗎

    python代碼能做成軟件嗎

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于把python代碼做成軟件的方法,有興趣的朋友們可以閱讀下。
    2020-07-07
  • 使用Python實(shí)現(xiàn)LLM的模型遷移

    使用Python實(shí)現(xiàn)LLM的模型遷移

    在當(dāng)今的人工智能領(lǐng)域,大型語言模型(LLM)如GPT、BERT等已經(jīng)成為了研究和應(yīng)用的熱點(diǎn),但其訓(xùn)練和部署成本高昂,且在不同領(lǐng)域或任務(wù)間的遷移能力有限,因此,如何有效地實(shí)現(xiàn)LLM的模型遷移,成為了一個(gè)重要的研究方向,本文將深入探討如何使用Python實(shí)現(xiàn)LLM的模型遷
    2025-02-02
  • Python中如何使用多線程優(yōu)化For循環(huán)

    Python中如何使用多線程優(yōu)化For循環(huán)

    這篇文章主要為大家詳細(xì)介紹了在Python中如何使用多線程實(shí)現(xiàn)優(yōu)化For循環(huán),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • torchxrayvision包安裝過程(附pytorch1.6cpu版安裝)

    torchxrayvision包安裝過程(附pytorch1.6cpu版安裝)

    這篇文章主要介紹了torchxrayvision包安裝過程(附pytorch1.6cpu版安裝),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Django中使用AJAX的詳細(xì)過程

    Django中使用AJAX的詳細(xì)過程

    在項(xiàng)目中前后端數(shù)據(jù)相互是一種常態(tài),下面這篇文章主要給大家介紹了關(guān)于Django中使用AJAX的詳細(xì)過程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 深入解讀Python解析XML的幾種方式

    深入解讀Python解析XML的幾種方式

    這篇文章主要為大家詳細(xì)介紹了深入解讀Python解析XML的幾種方式,以ElementTree模塊為例,演示具體使用方法和場(chǎng)景,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Python接口自動(dòng)化淺析yaml配置文件原理及用法

    Python接口自動(dòng)化淺析yaml配置文件原理及用法

    本文主要給大家介紹了yaml語法、yaml儲(chǔ)存數(shù)據(jù),封裝類讀取yaml配置文件,以及yaml的用法和其原理,有需要的朋友可以參考下,希望可以有所幫助
    2021-08-08
  • Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解

    Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解

    這篇文章主要介紹了Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 如何用scheduler實(shí)現(xiàn)learning-rate學(xué)習(xí)率動(dòng)態(tài)變化

    如何用scheduler實(shí)現(xiàn)learning-rate學(xué)習(xí)率動(dòng)態(tài)變化

    這篇文章主要介紹了如何用scheduler實(shí)現(xiàn)learning-rate學(xué)習(xí)率動(dòng)態(tài)變化問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評(píng)論

贞丰县| 沙洋县| 哈密市| 泾阳县| 阿巴嘎旗| 乌鲁木齐市| 类乌齐县| 时尚| 类乌齐县| 洛宁县| 安平县| 沙洋县| 茂名市| 樟树市| 南开区| 东安县| 凤冈县| 涿鹿县| 富裕县| 廉江市| 富宁县| 喀喇沁旗| 策勒县| 盐山县| 寿阳县| 庆云县| 德阳市| 兴城市| 仙游县| 黄梅县| 渭南市| 延津县| 兴隆县| 神农架林区| 当涂县| 嫩江县| 九龙县| 蕲春县| 两当县| 沙坪坝区| 波密县|