python学生考试安排软件、座位签V4.0

背景:

  • 学校每月都要月考,每学期要期末考,需要对全年级学生进行随机排序,安排考室、座位号、考号,并且打印座位签
  • 有时候会按照上期的成绩排序安排考室、座位号和考号
  • 为减轻老婆大人的工作量,写了这个小程序,并且使用tkinter实现可视化操作,原因你懂的
  • 老婆大人目前是我唯一的客户,是我学习编程最大的动力!!

实现效果如下

  • 软件界面
    在这里插入图片描述

  • 考生考号、考室、座位号文件

在这里插入图片描述

  • 座位签文件,直接打印就可以了
    在这里插入图片描述

源码如下

'''
'''
coding:utf-8
author:Marvinmao
学生考试随机排号,生成座位签
'''
from pandas import read_excel
from pandas import ExcelWriter
from openpyxl import Workbook
from openpyxl.styles import Alignment,Font,Border,Side
# import tkinter as tk
from tkinter import filedialog,Tk,Label,LabelFrame,Entry,Button,StringVar,IntVar,Checkbutton

root = Tk()
root.geometry("500x400")
root.title("学生考试安排软件V4.0(By:Marvinmao For:TT)")
studentsfile = ''
randomfile = ''
markfile = ''
## 上传学生名单
# frame_file = tk.Frame(root,width=500,height=5)
def upload_sutudentfile():
    global studentsfile
    filename1 = filedialog.askopenfilename(title='上传学生名单',filetypes=[('xls','*xls'),('xlsx','*.xlsx')])
    entry_filename1.delete(0,'end')
    entry_filename1.insert('insert',filename1)
    studentsfile =  filename1


randomframe = LabelFrame(root, text="生成考号、考室、座位号", padx=5, pady=5)
randomframe.pack(padx=10, pady=10)
# 上传文件按钮
fn = StringVar()
upload_button = Button(randomframe,text='上传学生名单:',command=upload_sutudentfile).grid(row=0,column=0)
# 设置保存文件名和路径的entry
entry_filename1 = Entry(randomframe,width=30,text=fn)
fn.set('第一行标题包含:班级、姓名')
entry_filename1.grid(row=0,column=1)


# 是否随机排序
randomornot = IntVar(value=1)
# label_number = Label(randomframe).grid(row=2,column=0)
check_number = Checkbutton(randomframe,text='随机排序(不勾选则按已排序进行编号)',variable=randomornot,width=30,anchor='w')
check_number.grid(row=1,column=1)

# 考生数据起始行
startrow = IntVar()
startrow.set(1)
label_startrow = Label(randomframe,text='表 头 行:').grid(row=2,column=0)
entry_startrow = Entry(randomframe,textvariable=startrow,width=30)
entry_startrow.grid(row=2,column=1)

# 填写考室人数
number = IntVar()
number.set(30)
label_number = Label(randomframe,text='考室人数:').grid(row=3,column=0)
entry_number = Entry(randomframe,textvariable=number,width=30)
entry_number.grid(row=3,column=1)

# 填写起始考号
examnum = StringVar()
label_examnum = Label(randomframe,text='起始考号:').grid(row=4,column
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值