怎么用Python编写一个电子考勤系统

  介绍

这篇文章主要介绍了怎么用Python编写一个电子考勤系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应用开发语言Python,准备让你们实现部分学生端考勤功能。经过和老师的沟通,你了解到:
(1)目前该系统已经被学长实现了部分功能,你们只需要完成剩余功能即可,需要你们完成的功能会使用
# todo的形式进行标注,待办事项后面会列出这个地方的功能,形式如下。

怎么用Python编写一个电子考勤系统

(2)学生信息存储在stu_infos。csv文件中,第一行是列名行,后面每一行都是一个学生的信息,包含学号,姓名,密码。内容形式如下:

怎么用Python编写一个电子考勤系统

(3)考勤记录最终会被保存到出席。csv文件中,第一行是列名行,后面每一行代表一个学生的考勤信息,包含学号,姓名,时间,考勤状态(只有出勤,迟到,请的假,缺勤四种状态)。内容格式如下:

怎么用Python编写一个电子考勤系统

(4)学生信息需要首先被加载到student_infos列表中,student_info中的每个元素都是一个字典,字典中的键都是各自列名,而值则是每一行内容,按照示例数据构造出来的student_infos列表如下。

怎么用Python编写一个电子考勤系统

(5)考勤系统老师端总共有两个Python文件,一个主要的。py文件,该文件作为入口程序文件,实现主体框架,主体流程就是:加载数据登录添加考勤数据;一个stu_attendance。py文件,定义了数据加载,登录等函数。

答题要求:
(1)在stu_info。csv文件末尾添加一行自己的信息,密码随意写,名字和学号必须是自己
(2)查看两个Python文件中的todo注释,添加合适代码,最终提供添加的代码。
(3)测试程序功能,提供程序运行截的图。进行登录验证的时候使用自己的学号进行登录验证,并且需要测试如下2个分支:3次都登录失败的情况,登录成功后成功添加考勤数据。

<强>附加功能

添加一个查询功能,输入一个学生的姓名就可以获取他的出勤数据信息

导入模块

import  csv   import 时间   时间=student_infos  []

加载数据

def  load_stu_info ():   “才能”;“   加才能载学生信息   从才能stu_infos.csv文件中加载数据   :才能返回:无   “才能”;“   with 才能;开放(r" stu_infos.csv",,编码=& # 39;utf-8-sig& # 39;), as 文件:   ,,,f_csv =, csv.reader(文件)   ,,,header 下(f_csv)=,   ,,,for  row 拷贝f_csv:   ,,,,,student_info =, {}   ,,,,,for  index 拷贝范围(3):   ,,,,,,,student_info[头(指数)],=,行(指数)   ,,,,,student_infos.append (student_info)

登录

def 登录():   “才能”;“   用才能户使用学号和密码进行登录   最才能多让用户登录三次,如果连续三次都登录失败(用户名或者密码错误),只要密码和用户都正确表示登录成功   :返回:才能登录成功返回真正的和学号,三次都登录失败返回错误和没有   “才能”;“   retry_time 才能=0   while 才能retry_time  & lt;, 3:   ,,,user_no =,输入(& # 39;请输入登录账号:& # 39;)   ,,,password =,输入(& # 39;请输入密码:& # 39;)   ,,,for 小姐:拷贝student_infos:   ,,,,,if 我[& # 39;没有# 39;]==user_no 以及我[& # 39;密码# 39;]==密码:   ,,,,,,,return 的确,user_no   ,,,print(& # 39;用户名或者密码错误! ! !请重新输入# 39;公司)   ,,,retry_time  +=1   其他的才能:   ,,,return 假,,没有

考勤记录写入

def 添加(user_no):   for 才能;x  student_infos:拷贝   ,,,if  user_no==x(& # 39;没有# 39;):   ,,,,,的名字=x[& # 39;名字# 39;】   ,,,,,休息   次才能=time.strftime (“Y % - % - % d  % H: % m: % S",, time.localtime ())   选择才能=[& # 39;出勤& # 39;,& # 39;迟到& # 39;,& # 39;请假& # 39;,& # 39;缺勤& # 39;】   a=才能int(输入(“\ t该学生出勤情况:1 -出勤\ t2 -迟到\ t3 -请假\ t4 -缺勤:“))   if 才能;==1:   ,,,data=https://www.yisu.com/zixun/choices [0]   elif==2:   选择data=[1]   elif==3:   选择data=[2]   其他:   选择data=[3]   张开(r”出席。csv”、“+”、换行符=",编码和f=皍tf - 8”):   wf=csv.writer (f)   wf.writerow ([user_no、名称、时间数据])#写入一行数据   打印(“{}同学{}数据已经写入成功!操作时间是{}“.format(名称、数据*))

怎么用Python编写一个电子考勤系统