婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 如何用Python編寫一個電子考勤系統

如何用Python編寫一個電子考勤系統

熱門標簽:鎮江人工外呼系統供應商 深圳網絡外呼系統代理商 400電話辦理費用收費 柳州正規電銷機器人收費 高德地圖標注字母 申請辦個400電話號碼 騰訊地圖標注有什么版本 外呼系統前面有錄音播放嗎 千呼ai電話機器人免費

實驗項目簡介

學校現在需要實現一個電子考勤系統,考慮到你們班已經學過大數據應用開發語言Python,準備讓你們實現部分學生端考勤功能。經過和老師的溝通,你了解到:
(1) 目前該系統已經被學長實現了部分功能,你們只需要完成剩余功能即可,需要你們完成的功能會使用
#todo的形式進行標注, todo后面會列出這個地方的功能,形式如下。

(2) 學生信息存儲在stu_infos.csv文件中,第一行是列名行,后面每一行都是一個學生的信息,包含學號,姓名,密碼。內容形式如下:

(3) 考勤記錄最終會被保存到attendance.csv文件中,第一行是列名行,后面每一行代表一個學生的考勤信息,包含學號,姓名,時間,考勤狀態(只有出勤、遲到、請假、缺勤四種狀態)。內容格式如下:

(4) 學生信息需要首先被加載到student_infos列表中,student_info中的每個元素都是一個字典,字典中的鍵都是各自列名,而值則是每一行內容,按照示例數據構造出來的student_infos列表如下。

(5) 考勤系統老師端總共有兩個Python文件,一個main.py文件,該文件作為入口程序文件,實現主體框架,主體流程就是:加載數據 登錄 添加考勤數據;一個stu_attendance.py文件,定義了數據加載、登錄等函數。

答題要求:
(1) 在stu_info.csv文件末尾添加一行自己的信息,密碼隨意寫,名字和學號必須是自己
(2) 查看兩個Python文件中的todo注釋,添加合適代碼,最終提供添加的代碼。
(3) 測試程序功能,提供程序運行截圖。進行登錄驗證的時候使用自己的學號進行登錄驗證,并且需要測試如下2個分支:3次都登錄失敗的情況、登錄成功后成功添加考勤數據。

附加功能

添加一個查詢功能,輸入一個學生的姓名就可以獲取他的出勤數據信息

導入模塊

import csv
import time
student_infos = []

加載數據

def load_stu_info():
  """
  加載學生信息
  從stu_infos.csv文件中加載數據
  :return: 無
  """
  with open(r"stu_infos.csv", encoding='utf-8-sig') as file:
    f_csv = csv.reader(file)
    header = next(f_csv)
    for row in f_csv:
      student_info = {}
      for index in range(3):
        student_info[header[index]] = row[index]
      student_infos.append(student_info)

登錄

def login():
  """
  用戶使用學號和密碼進行登錄
  最多讓用戶登錄三次,如果連續三次都登錄失敗(用戶名或者密碼錯誤),只要密碼和用戶都正確表示登錄成功
  :return:登錄成功返回True和學號,三次都登錄失敗返回False和None
  """
  retry_time = 0
  while retry_time  3:
    user_no = input('請輸入登錄賬號:')
    password = input('請輸入密碼:')
    for i in student_infos:
      if i['no']==user_no and i['password']==password:
        return True,user_no
    print('用戶名或者密碼錯誤!!!請重新輸入。')
    retry_time += 1
  else:
    return False, None

考勤記錄寫入

def add(user_no):
  for x in student_infos:
    if user_no==x['no']:
      name=x['name']
      break
  times=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
  choices=['出勤','遲到','請假','缺勤']
  a=int(input("\t該學生出勤情況:1-出勤\t2-遲到\t3-請假\t4-缺勤:"))
  if a==1:
    data=choices[0]
  elif a==2:
    data=choices[1]
  elif a==3:
    data=choices[2]
  else:
    data=choices[3]
  with open(r"attendance.csv",'a+',newline='', encoding='utf-8') as f:
    wf = csv.writer(f)
    wf.writerow([user_no,name,times,data])#寫入一行數據
    print("{}同學{}數據已經寫入成功!操作時間是{}".format(name,data,times))

查詢考勤記錄

def select():
  student = []
  with open(r"attendance.csv", encoding='utf-8-sig') as file:
    f_csv = csv.reader(file)
    header = next(f_csv)
    for row in f_csv:
      students = {}
      for index in range(4):
        students[header[index]] = row[index]
      student.append(students)
    name=input("請輸入你需要查找的姓名:")
    print(" 學號\t\t姓名\t\t操作時間\t\t出勤狀態")
    for a in student:
      if a['name']==name:
        print(a['no']+'\t'+a['name']+'\t'+a['time']+'\t\t'+a['state'])
      else:
        print("無此人!!!")
        break

主函數我就不給出了,有需要的可以自己編寫一下,如果需要可以私信我或者在這里下載數據集和源碼喲!!!

點擊下載!

看看運行效果喲!


每文一語

創作的思路來源于生活中細微的品味,勿驕勿躁,才是王道

到此這篇關于用Python編寫一個電子考勤系統的文章就介紹到這了,更多相關用Python編寫一個電子考勤系統內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • face++與python實現人臉識別簽到(考勤)功能
  • Python基于Opencv來快速實現人臉識別過程詳解(完整版)
  • 20行python代碼實現人臉識別
  • Python人臉識別第三方庫face_recognition接口說明文檔
  • 500行Python代碼打造刷臉考勤系統
  • python opencv人臉識別考勤系統的完整源碼

標簽:郴州 大慶 哈爾濱 海南 烏蘭察布 合肥 平頂山 烏蘭察布

巨人網絡通訊聲明:本文標題《如何用Python編寫一個電子考勤系統》,本文關鍵詞  如,何用,Python,編寫,一個,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何用Python編寫一個電子考勤系統》相關的同類信息!
  • 本頁收集關于如何用Python編寫一個電子考勤系統的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 林甸县| 邵武市| 屏边| 嘉峪关市| 靖安县| 鱼台县| 赤城县| 托克逊县| 隆回县| 奉贤区| 玛多县| 桂林市| 上思县| 富川| 惠来县| 甘泉县| 成安县| 龙游县| 揭阳市| 屯昌县| 溧阳市| 鸡西市| 和顺县| 牡丹江市| 明水县| 揭东县| 巴东县| 云林县| 建阳市| 南华县| 博罗县| 乳山市| 澄城县| 麻栗坡县| 伊川县| 共和县| 灌南县| 石楼县| 南部县| 墨玉县| 五峰|