大学のサークルは自動的にクラスを組む

8250 ワード

文書ディレクトリ
  • バックグラウンド
  • 需要分析
  • ソースコード
  • お礼
  • 背景
    改革開放の急速な推進に伴い、科学技術と経済が急速に発展し、大学生のアマチュア生活も次第に豊かになった.時代の呼びかけに応えて、大学生の想像力と創造力を十分に発揮するために、様々な趣味サークルと学生組織が誕生し、組織形式の規律化に伴い、「当直」というものが誕生した.当直があれば当然クラスを組むが、サークルの組織の多くは専門を超え、メンバーの授業表が統一されていない.私は今学期クラスの仕事を担当して、Pythonコードを特筆して自動クラスを実現しました.
    需要分析
  • 毎週5日、毎日4組、各クラスの開始時間と終了時間は対応する授業時間
  • である.
  • 人は週に4回当直し、便数に差はない
  • 誰かのためにクラスを指定することを許可する(未完成)
  • 臨時に用事がある場合は、今週のこの時間ノード以降の便で微調整班(未完成)
  • を行うことができます.
    ソースコード
    import xlwings as xw
    import random
    
    #   2 Excel  ,            ,                 
    #          ,           ,                         
    #    Excel         
    fp = "C:\\Users\\Ahou\\Desktop\\madebyhou.xlsx"
    wb = xw.Book(fp)
    sheet = wb.sheets[1]
    sheet_des = wb.sheets[0]
    col_title = sheet_des.range("B1:F1")
    row_title = sheet_des.range("A2:A5")
    sheet.range("A1").value = "   "
    wod = [" ", " ", " ", " ", " "]
    for _, e in enumerate(col_title):
        e.value = "  {}".format(wod[_])
    for _, e in enumerate(row_title):
        e.value = f"  {wod[_]} "
    
    #         
    list_of_students = ["  ", "   ", "  ", "   ", "   ", "   ", "  ", "   ", "   ", "  ", "   "] * 4
    list_index = []
    content_range = sheet.range("B2:F5")
    #       
    for i in content_range:
        current_list = []
        while len(current_list) < 2:
            j = int(random.random() * 44)
            if j not in list_index:
                if list_of_students[j] not in i:
                    list_index.append(j)
                    current_list.append(list_of_students[j])
        sheet_des.range(i.address).value = "、".join(current_list)
    #     
    wb.save()
    
    

    お礼を言う
  • ルームメイトの最後の完備に感謝
  • ご覧いただきありがとうございました
  • 自分に感謝して後で手動でクラスの苦しみを免れます