python 学生考勤系统
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                python 学生考勤系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            import csv
import timeclass studentManage:def __init__(self):self.student_infos = []self.student = []def login(self):"""用用學號和密碼進行登錄最多讓用戶登錄三次,如果連續三次都登錄失敗(用戶名或者密碼錯誤),只要密碼和用戶都正確表示登錄成功:return:登錄成功返回True和姓名,三次都登錄失敗返回False和None"""retry_time = 0while retry_time < 3:name = input('請輸入登錄姓名::')account = input('請輸入學號:')for i in self.student_infos:# 判斷姓名學號是否等于文件中的數據if i['姓名'] == name and i['學號'] == account:return True, accountretry_time += 1print('用戶名或者密碼錯誤,你還有' + str(3 - retry_time) + '次機會!!!請重新輸入。')else:return False, None# 加載學生數據def load_stu_info(self):"""加載學生信息從studentMsg.csv文件中加載數據:return: 無"""with open(r"../src/studentMsg.csv", encoding='ANSI', errors="ignore") 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]# append 添加學生信息self.student_infos.append(student_info)# 添加數據def add(self, user_no):# 在數據列表中通過學號找查學生for x in self.student_infos:if user_no == x['學號']:name = x['姓名']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]# 寫入csv文件with open(r"../src/studentMsg.csv", 'a+', newline='', encoding='ANSI') as f:wf = csv.writer(f)wf.writerow([name, user_no, times, data])  # 寫入一行數據print("{}同學{}數據已經寫入成功!操作時間是{}".format(name, data, times))# 找查學生def select(self):# 讀取csv文件with open(r"../src/studentMsg.csv", encoding='ANSI') as file:f_csv = csv.reader(file)# 獲取表頭header = next(f_csv)# 循環每一行的數據for row in f_csv:students = {}# 查詢所有的數據 索引0,1,2,3for index in range(4):students[header[index]] = row[index]# 把查詢到的所有數據插入表中self.student.append(students)name = str(input("請輸入你需要查找的姓名:"))print("  姓名\t\t學號\t\t操作時間\t\t出勤狀態")# 是否查到的判斷isData = True# 循環找查姓名==name的同學數據for a in self.student:if a['姓名'] == name:isData = Falseprint(a['姓名'] + '\t' + a['學號'] + '\t' + a['時間'] + '\t\t' + a['狀態'])if isData:print("無此人")
                            
                        
                        
                        總結
以上是生活随笔為你收集整理的python 学生考勤系统的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 使用layui/layuiAdmin的总
- 下一篇: PywebIO 轻松制作一个数据大屏,代
