どのようにPythonを使って電子勤務評定システムを作りますか?


実験プロジェクトの概要
在这里插入图片描述
在这里插入图片描述
学校は今電子出勤システムを実現する必要があります。あなた達のクラスでは既にビッグデータ応用開発言語Pythonを勉強したことを考慮して、一部の学生の勤務評定機能を実現させるつもりです。先生とのコミュニケーションを経て、あなたは分かりました。
(1)現在、このシステムは先輩に一部の機能を実現されました。残りの機能を完成すればいいです。完成された機能が使えます。
ドの形で表示しますが、トッドの後ろにこの場所の機能が表示されます。形式は次の通りです。
在这里插入图片描述
(2)学生情報はstu_に格納するinfos.csvファイルの中で、最初の行は列名行で、後の行はすべて学生の情報で、学号、名前、パスワードを含みます。内容の形式は以下の通りです。
在这里插入图片描述
(3)勤務評定記録は最終的にatensdance.csvファイルに保存されます。最初の行は列名行で、後の行は学生の勤務評定情報を表しています。学名、氏名、時間、勤務評定状態(出勤、遅刻、欠勤の四つの状態のみ)を含みます。内容のフォーマットは以下の通りです。
在这里插入图片描述
(4)学生情報は、まずstudentにロードされる必要があります。infosリストで、student_infoの各要素は辞書であり、辞書のキーはそれぞれ列名であり、値は行ごとの内容であり、例のデータから構成されるstudent(u)である。infosリストは以下の通りです。
在这里插入图片描述
(5)勤務評定システムの先生は全部で二つのPythonファイルを持っています。一つのmain.pyファイルは入り口プログラムファイルとして、本体のフレームを実現します。主体の流れはデータ登録をロードして勤務評定データを追加します。一つのstuatensdance.pyファイルは、データロード、ログインなどの関数を定義します。
クイズの要求:
(1)stu_info.csvファイルの末尾に自分の情報を追加します。パスワードは自由に書きます。名前と学号は自分で書かなければなりません。
(2)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を使って電子勤務システムの内容を作成します。以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。これからもよろしくお願いします。