最新用Python写了一个电子考勤系统_用python写一个宿舍考勤系统

本文介绍了如何使用Python开发一个电子考勤系统,包括查询学生出勤信息的功能。提供了源码下载链接,并分享了Python学习资源,如学习路线、视频教程、练习项目、电子书等,帮助读者系统学习和提升Python技能。
摘要由CSDN通过智能技术生成

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

导入模块

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 = inpu
  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的考勤系统Python代码: ```python import datetime class Student: def __init__(self, name, id): self.name = name self.id = id self.attendance = {} def mark_attendance(self): date = datetime.date.today() self.attendance[date] = True class AttendanceSystem: def __init__(self): self.students = [] def add_student(self, student): self.students.append(student) def mark_attendance(self, student_id): for student in self.students: if student.id == student_id: student.mark_attendance() print(f"{student.name} has been marked present on {datetime.date.today()}") break if __name__ == "__main__": attendance_system = AttendanceSystem() s1 = Student("John", 1) s2 = Student("Jane", 2) attendance_system.add_student(s1) attendance_system.add_student(s2) attendance_system.mark_attendance(1) attendance_system.mark_attendance(2) ``` 这段代码定义了两个类:`Student` 和 `AttendanceSystem`。`Student` 类代表一个学生,包含学生的姓名、ID 号和考勤记录。`AttendanceSystem` 类代表整个考勤系统,包含学生列表和标记考勤的方法。 在 `Student` 类中,定义了一个 `mark_attendance()` 方法,用于将学生的考勤记录标记为出席。在 `AttendanceSystem` 类中,定义了一个 `mark_attendance()` 方法,用于根据学生 ID 查找学生,并调用其 `mark_attendance()` 方法标记出席。 在主函数中,创建了一个 `AttendanceSystem` 对象,并添加了两个学生对象。然后调用 `mark_attendance()` 方法标记这两个学生的出席记录。 当你运行这段代码时,输出会是这样的: ``` John has been marked present on 2021-06-15 Jane has been marked present on 2021-06-15 ``` 这代表着这两个学生已经被成功标记为出席。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值