没有合适的资源?快使用搜索试试~ 我知道了~
首页用Python实现一个简单课堂点名器(从外部调取文件)
一, 任务描述: 实验要求: 以某班级学生名单为例,从外部文件导入学生信息,随机对班级所有同学进行点名; 判断未到学生是否有请假条,有则视为请假,无则视为旷课。 对点名结束后进入教室的学生将旷课改为迟到。 对中途离开课堂学生计为早退(需要考虑学生既是迟到又是早退的情况)。 按照请假、旷课、迟到、早退四类分别展示。 将未到学生按照请假、旷课、迟到、早退四类分别存储在四个.csv格式的文件中。 二,实验方案: 1. 实验思路: (1)导入所用模块: 由于定名方式是随机点名,所以导入random模块; 想要从外部文件读取学生名单,这里用到xlrd包; 想要将请假…等四类名单分别存储在四个.csv格
资源详情
资源评论
资源推荐

用用Python实现一个简单课堂点名器(从外部调取文件)实现一个简单课堂点名器(从外部调取文件)
一, 任务描述:
实验要求:
以某班级学生名单为例,从外部文件导入学生信息,随机对班级所有同学进行点名;
判断未到学生是否有请假条,有则视为请假,无则视为旷课。
对点名结束后进入教室的学生将旷课改为迟到。
对中途离开课堂学生计为早退(需要考虑学生既是迟到又是早退的情况)。
按照请假、旷课、迟到、早退四类分别展示。
将未到学生按照请假、旷课、迟到、早退四类分别存储在四个.csv格式的文件中。
二,实验方案:
1. 实验思路:
(1)导入所用模块:
由于定名方式是随机点名,所以导入random模块;模块;
想要从外部文件读取学生名单,这里用到xlrd包;包;
想要将请假…等四类名单分别存储在四个.csv格式的文件中。这里采用pandas包;包;
(2)由于要对学生点名,这里采用学号索引,用了大量的函数模块,利用函数来返回学号和姓名,通过函数来实现不同的功能:
注:函数返回两个列表时为元组形式,格式为:(注:函数返回两个列表时为元组形式,格式为:([列表列表1],,[列表列表2]))
定义函数函数student,输入读取Excel文件地址,从Excel文件读取学号和姓名,返回全体学生学号和姓名返回全体学生学号和姓名列表。
定义函数num:输入想要点名人数,返回点名人数返回点名人数。为了输入格式的完整。
定义函数函数dianming:输入函数student返回的列表学号,姓名,和函数num返回的人数,进行随机点名,返回随机学号,姓名返回随机学号,姓名列表。
定义函数函数zaotui:输入列表学号,姓名,判断是否早退,返回早退学号返回早退学号,姓名列表。用于后面函数的调用。
定义函数函数puanduan1:输入函数dianming返回的学号,姓名,判断是否来了,返回点名期间早退和没来学号返回点名期间早退和没来学号,姓名列表。(里面调用了函数zaotui函数)
定义函数函数panduan2:输入列表学号,姓名,创建缺勤和迟到名单创建缺勤和迟到名单,返回早退学号列表返回早退学号列表,用于判断点名期间没有请假条的人。(里面调用了函数zaotui函数)
定义函数函数qingjia:输入函数puanduan1返回没来的列表学号,判断是否有请假条,有就创建请假表创建请假表,没有就调用函数panduan2创建迟到表,创建缺勤表,返回点名期间没来并且早退学返回点名期间没来并且早退学
号,姓名号,姓名列表。
定义函数函数date:输入列表学号,姓名,得到函数得到函数table中中date数据数据。
定义函数函数table:输入表头名称(学号,姓名),表中数据,存放地址,生成表,里面用format格式化建表格式化建表。
(3)实验流程图:
三, 实验代码
#导包
import xlrd #导入xlrd包,对Excel读取数据
import pandas as pd #导入pandas包,用于对Excel操作
import random #导入随机random模块
#定义函数:从Excel文件读取学号和姓名,返回全体学号和姓名列表
def student(address):
data = xlrd.open_workbook(address)
table = data.sheet_by_name('Sheet1') #选定页码1--(Sheet1).
rowNum = table.nrows #总行数
colNum = table.ncols #总列数
a = [] # 获得学号
b = [] # 获得姓名
for y in range(colNum): #自动索引学号(xuehao),姓名(name)

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0