一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 如何用Python編寫一個電子考勤系統

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

2021-09-04 00:13王小王-123 Python

這篇文章主要介紹了用Python編寫一個電子考勤系統,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

實驗項目簡介

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

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

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

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

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

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

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

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

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

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

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

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

附加功能

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

導入模塊

  1. import csv
  2. import time
  3. student_infos = []

加載數據

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

登錄

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

考勤記錄寫入

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

查詢考勤記錄

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

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

點擊下載!

看看運行效果喲!

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

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

每文一語

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

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

原文鏈接:https://blog.csdn.net/weixin_47723732/article/details/111712325

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产不卡视频 | 冰山美人调教耻辱h | 欧洲另类一二三四区 | tubehdxx丝袜正片 | 91禁漫| 免费国产高清精品一区在线 | 欧洲美女bbbxxxxxx | 日本护士handjob | 欧美日韩亚洲一区二区三区在线观看 | www.国产在线观看 | 天天摸天天爽视频69视频 | 欧美日韩精品一区二区三区视频在线 | 日本人与黑人做爰视频网站 | 好紧好爽的午夜寂寞视频 | 黑人chinese女人| 国产欧美另类久久精品91 | 大胆国模一区二区三区伊人 | 国产原创一区二区 | 肉色欧美久久久久久久蜜桃 | 九九精品国产亚洲A片无码 九九99热久久999精品 | 爱福利一区二区 | 亚州免费一级毛片 | 91精品手机国产在线观 | 美女用屁股把人吞进肚子 | 成年性午夜免费视频网站不卡 | 日本b站一卡二不卡三卡四卡 | 国产精品理论片在线观看 | 国产综合第一页 | 星星动漫在线观看免费 | 海派甜心完整版在线观看 | 福利入口在线观看 | 色哟哟在线播放 | 免费看片黄 | 99视频网址 | 日本 片 成人 在线 日b视频免费 | www.久久av.com | 韩国三级年轻小的胰子完整 | 三体动漫在线观看免费完整版2022 | 高清毛片aaaaaaaaa片 | 国产在线乱子伦一区二区 | 欧美性理论片在线观看片免费 |