随机点名器(随机点名器代码)

实验要求:

  1. 以网工18名单为例,从外部文件导入学生信息,并将学生信息存入MySQL数据库,随机对班级所有同学进行点名;

  2. 判断未到学生是否有请假条,有则视为请假,无则视为旷课。

  3. 对点名结束后进入教室的学生将旷课改为迟到。

  4. 对中途离开课堂学生计为早退(需要考虑学生既是迟到又是早退的情况)。

  5. 将未到学生按照请假、旷课、迟到、早退四类分别存储在MySQL数据库中的四个表中。

  6. 从MySQL数据中读取请假、旷课、迟到、早退四类信息并分别展示。

首先导入xlrd包,pandas包,random包,pymysql包。

定义函数student,输入读取Excel文件地址,从Excel文件读取学号和姓名,返回全体学生学号和姓名列表。

定义函数num:输入想要点名人数,返回点名人数。为了输入格式的完整。

定义函数dianming:输入函数student返回的列表学号,姓名,人数,进行随机点名,返回随机学号,姓名列表。

定义函数zaotui:输入列表学号,姓名,判断是否早退,返回早退学号,姓名列表。用于后面函数的调用。

定义函数puanduan1:输入函数dianming返回的学号,姓名,判断是否来了,返回点名期间早退和没来学号,姓名列表。里面调用函数zaotui函数用来返回没来的学号和姓名列表。

定义函数panduan2:输入列表学号,姓名, 向缺勤表和迟到表里插入数据 ,返回早退学号列表,用于判断点名期间没有请假条的人。里面也有函数zaotui用来返回早退的学号和姓名列表。

定义函数qingjia:输入函数puanduan1返回没来的列表学号,判断是否有请假条,有就将信息插入请假表中,没有就调用函数panduan2向缺勤表和迟到表里插入数据,返回点名期间没来并且早退学号,姓名列表。

定义函数data:输入学号,姓名列表和插入的sql语句,利用该函数将信息一个一个插入相应的表中。

主函数只要与数据库建立连接,建立四个空表,再调用相关函数即可。迟到表是在主函数中建立,并且主函数用try来捕捉异常,最后断开连接。

注:数据库的主机:localhost用户名:root密码:root数据库名:my01端口:3306

方案图:在我上一个博客里,大家可以看一下!

 
 

在这里插入图片描述

以下为各表数据:

在这里插入图片描述
在这里插入图片描述
随机点名器在这里插入图片描述
在这里插入图片描述

  1. 随机点名器

    data = xlrd.open_workbook(r’D:li.xlsx’)先导入xlrd包,可以从Excel中读取数据,data代表该文件。

  2. table =data.sheet_by_name(‘Sheet1’)读取Excel中页码为‘Sheet1’的内容。

  3. rowNum = table.nrows 读取总行数
    colNum =table.ncols 读取总列数
    table.cell_value(x,y) 读取表x行y列的值

  4. random.sample(a, num) 从a中随机抽取num个元素。

  5. break,continue的使用;

  6. pymysql.connect(host=‘localhost’,user=‘root’,password=‘root’,database=‘my01’,port=3306)用于连接数据库的。

  7. cur = con.cursor() 用于创建游标对象

  8. cur.execute(table, sql) 用于对数据库命令的执行,table为表,sql为要执行的sql语句

  9. con.commit() 提交事务

  10. con.rollback() 将游标返回前面

  11. con.close() 关闭与数据库的连接,节省资源

  12. try语句捕获异常。

【1】
https://www.cnblogs.com/ilovepython/p/11068841.html 如何用xlrd包

【2】
https://www.shsxt.com/down/8468.htm
第214~220集如何安装mysql和学习如何创建,插入表中数据。

全部原创

本人自学Python,学习时间不长,所以写的代码有很多地方可以优化,请不吝赐教,欢迎在讨论区一起学习。

转载请说明出处 内容投诉内容投诉
九幽软件 » 随机点名器(随机点名器代码)