运动会管理系统
1.配置:pycharm2022.3专业版.(使用pycharm社区版也可以的)
解释器:python3.11解释器
数据库:MySQL Workbench 8.0
我们直接开始代码演示:
1.我们需要用到的模块:
from pymysql import connect # 用pycharm来连接数据库
from pyecharts import options as opts # 可视化相关库
from pyecharts.charts import Pie # 画图库引用饼图模块
from pyecharts.globals import ThemeType # pyecharts画图主题
import random
import os # 与操作系统交互的方法库
import sys #与 Python 解释器及其环境交互的模块
2.pycharm连接数据库并选择mysql中我们要用到的数据库,这里默认使用本地root连接即可:
# 构建mysql数据库的连接
conn = connect(
host="localhost", # 主机名
port=3306, # 默认端口
user="root", # 使用主机
password="******", # 本地mysql账户密码,用自己的密码
autocommit=True # 自动确认提交本地的操作
)
cursor = conn.cursor() # 获取游标对象
conn.select_db("school") # 选择数据库
3.注!:在执行一下代码的时候先在上面你连接的数据库中建好以下四个表(否者程序会报错哦):
admin , referee , player , score ,
有对管理员的信息管理函数,以及设置了项目的登陆模式:
cursor.execute("select * from admin") # 在pycharm内来执行MySQL中的代码指令
def index(admin_no, admin_passwd):
cursor.execute("select * from admin where admin_no='" + admin_no + "'")
tel = cursor.fetchone()
if tel[2] == admin_passwd: # 管理员密码为111111
print("登录成功") # 这里只有管理员一号才可以登录程序应用!!!
else:
print("用户或密码错误")
# 管理员插入
def admin_insert(admin_no, admin_name, admin_passwd, admin_tel):
cursor.execute(
"insert into admin values('" + admin_no + "','" + admin_name + "','" + admin_passwd + "','" + admin_tel + "')")
conn.commit()
# 管理员更改
def admin_update(admin_noo):
admin_no = input("更改的编号:")
admin_name = input("更改的姓名:")
admin_passwd = input("更改的密码:")
admin_tel = input("更改的电话:")
cursor.execute(
"update admin set admin_no='" + admin_no + "',admin_name='" + admin_name + "',admin_passwd='" + admin_passwd + "',admin_tel='" + admin_tel + "' where admin_no='" + admin_noo + "'")
conn.commit()
# 管理员删除
def admin_delete(admin_no): # 管理员
cursor.execute("delete from admin where admin_no='" + admin_no + "'")
conn.commit()
数据表admin样式:

4.对裁判的相关信息的修改操作函数
# 裁判插入
def referee_insert(referee_no, referee_name, referee_sex, referee_dept):
cursor.execute(
"insert into referee values('" + referee_no + "','" + referee_name + "','" + referee_sex + "','" + referee_dept + "')")
conn.commit()
# 裁判更改
def referee_update(referee_noo):
referee_no = input("更改的编号:")
referee_name = input("更改的姓名;")
referee_sex = input("更改的性别:")
referee_dept = input("更改的项目:")
cursor.execute(
"update referee set referee_no='" + referee_no + "',referee_name='" + referee_name + "',referee_sex='" + referee_sex + "',referee_dept='" + referee_dept + "' where referee_no='" + referee_noo + "'")
conn.commit()
# 裁判删除
def referee_delete(referee_no):
cursor.execute("delete from referee where referee_no='" + referee_no + "'")
conn.commit()
referee表简单演示:

5.参赛运动动员的信息修改:
# 运动员更改
def player_update(player_noo):
player_no = input("更改的编号:")
player_name = input("更改的姓名;")
player_sex = input("更改的性别:")
player_dept = input("更改的项目:")
player_age = input("更改的年龄:")
cursor.execute(
"update player set player_no='" + player_no + "',player_name='" + player_name + "',player_sex='" + player_sex + "',player_dept='" + player_dept + "',player_age='" + player_age + "' where player_no='" + player_noo + "'")
conn.commit()
# 运动员删除
def player_delete(player_no):
cursor.execute("delete from player where player_no='" + player_no + "'")
conn.commit()
player表样式:

6.运动员分数的增删改查:
# 分数插入
def score_insert(score_no, score_pno, score_dno, score_sno, score_score):
cursor.execute(
"insert into score values('" + score_no + "','" + score_pno + "','" + score_dno + "','" + score_sno + "','" + score_score + "')")
# 分数更改
def score_update(score_noo):
score_no = input("更改的成绩编号:")
score_pno = input("更改的选手编号;")
score_dno = input("更改的项目编号:")
score_sno = input("更改的排名:")
score_score = input("更改的成绩:")
cursor.execute(
"update score set score_no='" + score_no + "',score_pno='" + score_pno + "',score_dno='" + score_dno + "',score_sno='" + score_sno + "',score_score='" + score_score + "' where score_no='" + score_noo + "'")
conn.commit()
# 分数删除
def score_delete(score_no):
cursor.execute("delete from score where score_no='" + score_no + "'")
conn.commit()
分数表样式:

7.对运动会的简单可视化:
这里给出一个简单的可视化代码根据自己的需求来用哦
# html饼状图网页可视化
def demo_pie():
pie = Pie()
staff = ['运动员', '裁判员', '成绩', '其他', '管理员']
num = [players, refereers, scorers, additional, adminers]
pie.add("", [list(z) for z in zip(staff, num)])
pie.set_global_opts(
title_opts=opts.TitleOpts(title="运动会各人员pie图"),
legend_opts=opts.LegendOpts(is_show=True),
toolbox_opts=opts.ToolboxOpts(is_show=True),
)
theme = ThemeType.HALLOWEEN # 调用了globers文件中的_ThemeType模块 中的主题
pie.render("sports_pie.html") # 文件名称
执行此代码后会在同一目录下生成一个名为sports_pie的html代码,可以在pycharm中打开,也可以在网页中打开:如

双击html文件得:(仅为部分html)

打开双击此文件后右上角会有:

点击pycharm图标:

点击浏览器图标:
就会在浏览器中打开此可视化饼图:
8.写完运动会的基本函数后就是我们整个运动会管理系统的主函数了:
while True:
print("---------管理员登录---------")
print("1.登录")
print("2.退出")
str = input("请选择功能:")
if str == '1': # 登录
admin_no = input("请输入用户名:")
admin_passwd = input("请输入密码:")
# print(admin_no
# )
# print(admin_passwd)
cursor.execute("select * from admin where admin_no=''+ admin_no + ''")
passwd = cursor.fetchone() # 以元组的形式打印这一行的内容
# print(passwd) # 打印密码
# print(passwd[2]) # 当前数据库密码
if f'{passwd[2]}' == admin_passwd: # 对密码数据库中的密码要进行格式化处理,不然会出错!!!
# os.system("cls") # cls是清除屏幕命令,该命令用于清除命令行界面的所有文本,并将光标移动到屏幕的顶部。
print("---------登录成功---------")
while True:
print("1.管理员管理")
print("2.裁判管理")
print("3.运动员管理")
print("4.分数管理")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 管理员管理
while True:
print("1.增加")
print("2.删除")
print("3.查询")
print("4.修改")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 增加管理员
admin_no = input("管理员编号:")
admin_name = input("管理员姓名:")
admin_passwd = input("管理员密码:")
admin_tel = input("管理员电话:")
admin_insert(admin_no, admin_name, admin_passwd, admin_tel)
print("添加成功!")
elif str == '2': # 删除管理员
admin_no = input("要删除的管理员编号:")
admin_delete(admin_no)
print("删除成功!")
elif str == '3': # 查询管理员
cursor.execute("select * from admin")
rows = cursor.fetchall() # 得到所有数据集
for row in rows:
print("%s,%s,%s,%s" % (row[0], row[1], row[2], row[3]))
elif str == '4': # 修改管理员
admin_noo = input("要修改的管理员编号:")
admin_update(admin_noo)
else: # 返回
break
elif str == '2': # 裁判员管理
while True:
print("1.增加")
print("2.删除")
print("3.查询")
print("4.修改")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 增加裁判员
referee_no = input("裁判编号:")
referee_name = input("裁判员姓名:")
referee_sex = input("裁判员性别:")
referee_dept = input("裁判员项目:")
referee_insert(referee_no, referee_name, referee_sex, referee_dept)
print("添加成功!")
elif str == '2': # 删除裁判员
referee_no = input("要删除的裁判员编号:")
referee_delete(referee_no)
print("删除成功!")
elif str == '3': # 查询裁判员
cursor.execute("select * from referee")
rows = cursor.fetchall() # 得到所有数据集
for row in rows:
print("%s,%s,%s,%s" % (row[0], row[1], row[2], row[3]))
elif str == '4': # 修改裁判员
referee_noo = input("要修改的管理员编号:")
referee_update(referee_noo)
else: # 返回
break
elif str == '3': # 运动员管理
while True:
print("1.增加")
print("2.删除")
print("3.查询")
print("4.修改")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 增加运动员
player_no = input("运动员编号:")
player_name = input("运动员员姓名:")
player_sex = input("运动员性别:")
player_dept = input("运动员项目:")
player_age = input("运动员年龄:")
player_insert(player_no, player_name, player_sex, player_dept, player_age)
print("添加成功!")
elif str == '2': # 删除运动员
player_no = input("要删除的运动员编号:")
player_delete(player_no)
print("删除成功!")
elif str == '3': # 查询运动员
cursor.execute("select * from player")
rows = cursor.fetchall() # 得到所有数据集
for row in rows:
print("%s,%s,%s,%s,%s" % (row[0], row[1], row[2], row[3], row[4]))
elif str == '4': # 修改运动员
player_noo = input("要修改的管理员编号:")
player_update(referee_noo)
else: # 返回
break
elif str == '4': # 分数查询
while True:
print("1.增加")
print("2.删除(增加容错性)")
print("3.查询(优化版)")
print("4.修改")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 增加分数
score_no = input("成绩编号:") # 不开源私有的,因为牵扯到运动员的信息删除!
score_pno = input("运动员编号:") # 开源全部可见的信息
score_dno = input("项目编号:")
score_sno = input("排名:")
score_score = input("成绩:")
score_insert(score_no, score_pno, score_dno, score_sno, score_score)
print("添加成功!")
elif str == '2': # 删除分数
score_no = input("要删除的成绩编号:")
def sure():
global score_no # 重定义全局变量
score_delete(score_no)
print("删除成功!")
ask = input("您确定要删除该运动员的比赛信息吗 ? y or n :").lower()
if ask == "y":
sure()
if ask == "n":
# sys.exit() # 直接退出该程序的全部进程
break # 退出本层循环,返回上一层
"""
样式:
import sys
def my_func():
print("Hello World")
ask = input("Restart? y or n ").lower()
if ask == "y":
my_func()
if ask == "n":
sys.exit()
"""
elif str == '3': # 查询分数
cursor.execute("select * from score")
rows = cursor.fetchall() # 得到所有数据集
# for row in rows:
# print("%s,%s,%s,%s,%s" % (row[0], row[1], row[2], row[3], row[4]))
# 显示当前数据库中的所用运动员的信息
"""
cursor.execute("SELECT id, name FROM mytable")
rows = cursor.fetchall()
first_row = rows[0]
name = first_row['name']
"""
cursor.execute("SELECT score_pno FROM score ")
pno = cursor.fetchall() # 所有运动员编号的信息
print("目前所有的运动员的编号信息:", pno) # 显示目前所有运动员的编号信息
print() # 换行
row1 = input(
"请输入您要查询的运动员编号(注:根据上述编号信息,必须按照整型数据来输入):") # 交互界面输入运动员的信息
for row in rows: # 所有运动员编号信息
# for element in tuple(pno): # 对当前数据库中的所有运动员编号信息进行索引
element = f"{row[1]}" # 元组的通过下标索引来检索元素,的格式化检索
if row1 == element: # 判断输入的运动员的编号是否和数据库中录入的信息一致
"""cursor.execute("SELECT * FROM employees WHERE name=?", ("John",))
employee = cursor.fetchone()
print(employee)
SELECT * FROM Websites WHERE name='淘宝';
SQL语言来完成关键字检索》》》
"""
print("%s,%s,%s,%s,%s" % (row[0], row[1], row[2], row[3], row[4]))
else:
pass
# 优化完成!
elif str == '4': # 修改分数
score_noo = input("要修改的分数编号:")
score_update(score_noo)
else: # 返回上一层
break
else:
break # 返回上一层
else: # 退出
break
9.完整代码全过程:(连接数据库是一定要写自己数据库的密码,可不用写我代码中样式的*******!)
from pymysql import connect # 用pycharm来连接数据库
from pyecharts import options as opts # 可视化相关库
from pyecharts.charts import Pie
from pyecharts.globals import ThemeType
import random
import os
import sys
# 构建mysql数据库的连接
conn = connect(
host="localhost", # 主机名
port=3306, # 默认端口
user="root", # 使用主机
password="565552131", # 本地mysql账户密码,用自己的密码
autocommit=True # 自动确认提交本地的操作
)
cursor = conn.cursor() # 获取游标对象
conn.select_db("school") # 选择数据库
cursor.execute("select * from admin") # 在pycharm内来执行MySQL中的代码指令
def index(admin_no, admin_passwd):
cursor.execute("select * from admin where admin_no='" + admin_no + "'")
tel = cursor.fetchone()
if tel[2] == admin_passwd: # 管理员密码为111111
print("登录成功") # 这里只有管理员一号才可以登录程序应用!!!
else:
print("用户或密码错误")
# 管理员插入
def admin_insert(admin_no, admin_name, admin_passwd, admin_tel):
cursor.execute(
"insert into admin values('" + admin_no + "','" + admin_name + "','" + admin_passwd + "','" + admin_tel + "')")
conn.commit()
# 管理员更改
def admin_update(admin_noo):
admin_no = input("更改的编号:")
admin_name = input("更改的姓名:")
admin_passwd = input("更改的密码:")
admin_tel = input("更改的电话:")
cursor.execute(
"update admin set admin_no='" + admin_no + "',admin_name='" + admin_name + "',admin_passwd='" + admin_passwd + "',admin_tel='" + admin_tel + "' where admin_no='" + admin_noo + "'")
conn.commit()
# 管理员删除
def admin_delete(admin_no): # 管理员
cursor.execute("delete from admin where admin_no='" + admin_no + "'")
conn.commit()
# 裁判插入
def referee_insert(referee_no, referee_name, referee_sex, referee_dept):
cursor.execute(
"insert into referee values('" + referee_no + "','" + referee_name + "','" + referee_sex + "','" + referee_dept + "')")
conn.commit()
# 裁判更改
def referee_update(referee_noo):
referee_no = input("更改的编号:")
referee_name = input("更改的姓名;")
referee_sex = input("更改的性别:")
referee_dept = input("更改的项目:")
cursor.execute(
"update referee set referee_no='" + referee_no + "',referee_name='" + referee_name + "',referee_sex='" + referee_sex + "',referee_dept='" + referee_dept + "' where referee_no='" + referee_noo + "'")
conn.commit()
# 裁判删除
def referee_delete(referee_no):
cursor.execute("delete from referee where referee_no='" + referee_no + "'")
conn.commit()
# 运动员插入
def player_insert(player_no, player_name, player_sex, player_dept, player_age):
cursor.execute(
"insert into player values('" + player_no + "','" + player_name + "','" + player_sex + "','" + player_dept + "','" + player_age + "')")
# 运动员更改
def player_update(player_noo):
player_no = input("更改的编号:")
player_name = input("更改的姓名;")
player_sex = input("更改的性别:")
player_dept = input("更改的项目:")
player_age = input("更改的年龄:")
cursor.execute(
"update player set player_no='" + player_no + "',player_name='" + player_name + "',player_sex='" + player_sex + "',player_dept='" + player_dept + "',player_age='" + player_age + "' where player_no='" + player_noo + "'")
conn.commit()
# 运动员删除
def player_delete(player_no):
cursor.execute("delete from player where player_no='" + player_no + "'")
conn.commit()
# 分数插入
def score_insert(score_no, score_pno, score_dno, score_sno, score_score):
cursor.execute(
"insert into score values('" + score_no + "','" + score_pno + "','" + score_dno + "','" + score_sno + "','" + score_score + "')")
# 分数更改
def score_update(score_noo):
score_no = input("更改的成绩编号:")
score_pno = input("更改的选手编号;")
score_dno = input("更改的项目编号:")
score_sno = input("更改的排名:")
score_score = input("更改的成绩:")
cursor.execute(
"update score set score_no='" + score_no + "',score_pno='" + score_pno + "',score_dno='" + score_dno + "',score_sno='" + score_sno + "',score_score='" + score_score + "' where score_no='" + score_noo + "'")
conn.commit()
# 分数删除
def score_delete(score_no):
cursor.execute("delete from score where score_no='" + score_no + "'")
conn.commit()
# html饼状图网页可视化
def demo_pie():
pie = Pie()
staff = ['运动员', '裁判员', '成绩', '其他', '管理员']
num = [players, refereers, scorers, additional, adminers]
pie.add("", [list(z) for z in zip(staff, num)])
pie.set_global_opts(
title_opts=opts.TitleOpts(title="运动会各人员pie图"),
legend_opts=opts.LegendOpts(is_show=True),
toolbox_opts=opts.ToolboxOpts(is_show=True),
)
theme = ThemeType.HALLOWEEN # 调用了globers文件中的_ThemeType模块 中的主题
pie.render("sports_pie1.html") # 文件名称
while True:
print("---------管理员登录---------")
print("1.登录")
print("2.退出")
str = input("请选择功能:")
if str == '1': # 登录
admin_no = input("请输入用户名:")
admin_passwd = input("请输入密码:")
# print(admin_no
# )
# print(admin_passwd)
cursor.execute("select * from admin where admin_no=''+ admin_no + ''")
passwd = cursor.fetchone() # 以元组的形式打印这一行的内容
# print(passwd) # 打印密码
# print(passwd[2]) # 当前数据库密码
if f'{passwd[2]}' == admin_passwd: # 对密码数据库中的密码要进行格式化处理,不然会出错!!!
# os.system("cls") # cls是清除屏幕命令,该命令用于清除命令行界面的所有文本,并将光标移动到屏幕的顶部。
print("---------登录成功---------")
while True:
print("1.管理员管理")
print("2.裁判管理")
print("3.运动员管理")
print("4.分数管理")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 管理员管理
while True:
print("1.增加")
print("2.删除")
print("3.查询")
print("4.修改")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 增加管理员
admin_no = input("管理员编号:")
admin_name = input("管理员姓名:")
admin_passwd = input("管理员密码:")
admin_tel = input("管理员电话:")
admin_insert(admin_no, admin_name, admin_passwd, admin_tel)
print("添加成功!")
elif str == '2': # 删除管理员
admin_no = input("要删除的管理员编号:")
admin_delete(admin_no)
print("删除成功!")
elif str == '3': # 查询管理员
cursor.execute("select * from admin")
rows = cursor.fetchall() # 得到所有数据集
for row in rows:
print("%s,%s,%s,%s" % (row[0], row[1], row[2], row[3]))
elif str == '4': # 修改管理员
admin_noo = input("要修改的管理员编号:")
admin_update(admin_noo)
else: # 返回
break
elif str == '2': # 裁判员管理
while True:
print("1.增加")
print("2.删除")
print("3.查询")
print("4.修改")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 增加裁判员
referee_no = input("裁判编号:")
referee_name = input("裁判员姓名:")
referee_sex = input("裁判员性别:")
referee_dept = input("裁判员项目:")
referee_insert(referee_no, referee_name, referee_sex, referee_dept)
print("添加成功!")
elif str == '2': # 删除裁判员
referee_no = input("要删除的裁判员编号:")
referee_delete(referee_no)
print("删除成功!")
elif str == '3': # 查询裁判员
cursor.execute("select * from referee")
rows = cursor.fetchall() # 得到所有数据集
for row in rows:
print("%s,%s,%s,%s" % (row[0], row[1], row[2], row[3]))
elif str == '4': # 修改裁判员
referee_noo = input("要修改的管理员编号:")
referee_update(referee_noo)
else: # 返回
break
elif str == '3': # 运动员管理
while True:
print("1.增加")
print("2.删除")
print("3.查询")
print("4.修改")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 增加运动员
player_no = input("运动员编号:")
player_name = input("运动员员姓名:")
player_sex = input("运动员性别:")
player_dept = input("运动员项目:")
player_age = input("运动员年龄:")
player_insert(player_no, player_name, player_sex, player_dept, player_age)
print("添加成功!")
elif str == '2': # 删除运动员
player_no = input("要删除的运动员编号:")
player_delete(player_no)
print("删除成功!")
elif str == '3': # 查询运动员
cursor.execute("select * from player")
rows = cursor.fetchall() # 得到所有数据集
for row in rows:
print("%s,%s,%s,%s,%s" % (row[0], row[1], row[2], row[3], row[4]))
elif str == '4': # 修改运动员
player_noo = input("要修改的管理员编号:")
player_update(referee_noo)
else: # 返回
break
elif str == '4': # 分数查询
while True:
print("1.增加")
print("2.删除(增加容错性)")
print("3.查询(优化版)")
print("4.修改")
print("5.返回")
str = input("请选择功能:")
if str == '1': # 增加分数
score_no = input("成绩编号:") # 不开源私有的,因为牵扯到运动员的信息删除!
score_pno = input("运动员编号:") # 开源全部可见的信息
score_dno = input("项目编号:")
score_sno = input("排名:")
score_score = input("成绩:")
score_insert(score_no, score_pno, score_dno, score_sno, score_score)
print("添加成功!")
elif str == '2': # 删除分数
score_no = input("要删除的成绩编号:")
def sure():
global score_no # 重定义全局变量
score_delete(score_no)
print("删除成功!")
ask = input("您确定要删除该运动员的比赛信息吗 ? y or n :").lower()
if ask == "y":
sure()
if ask == "n":
# sys.exit() # 直接退出该程序的全部进程
break # 退出本层循环,返回上一层
"""
样式:
import sys
def my_func():
print("Hello World")
ask = input("Restart? y or n ").lower()
if ask == "y":
my_func()
if ask == "n":
sys.exit()
"""
elif str == '3': # 查询分数
cursor.execute("select * from score")
rows = cursor.fetchall() # 得到所有数据集
# for row in rows:
# print("%s,%s,%s,%s,%s" % (row[0], row[1], row[2], row[3], row[4]))
# 显示当前数据库中的所用运动员的信息
"""
cursor.execute("SELECT id, name FROM mytable")
rows = cursor.fetchall()
first_row = rows[0]
name = first_row['name']
"""
cursor.execute("SELECT score_pno FROM score ")
pno = cursor.fetchall() # 所有运动员编号的信息
print("目前所有的运动员的编号信息:", pno) # 显示目前所有运动员的编号信息
print() # 换行
row1 = input(
"请输入您要查询的运动员编号(注:根据上述编号信息,必须按照整型数据来输入):") # 交互界面输入运动员的信息
for row in rows: # 所有运动员编号信息
# for element in tuple(pno): # 对当前数据库中的所有运动员编号信息进行索引
element = f"{row[1]}" # 元组的通过下标索引来检索元素,的格式化检索
if row1 == element: # 判断输入的运动员的编号是否和数据库中录入的信息一致
"""cursor.execute("SELECT * FROM employees WHERE name=?", ("John",))
employee = cursor.fetchone()
print(employee)
SELECT * FROM Websites WHERE name='淘宝';
SQL语言来完成关键字检索》》》
"""
print("%s,%s,%s,%s,%s" % (row[0], row[1], row[2], row[3], row[4]))
else:
pass
# 优化完成!
elif str == '4': # 修改分数
score_noo = input("要修改的分数编号:")
score_update(score_noo)
else: # 返回上一层
break
else:
break # 返回上一层
else: # 退出
break
# pie_demo 数据库数据整理
# 运动员总人数
cursor.execute("SELECT COUNT(*) FROM player")
count = cursor.fetchone()
for i in count:
players = int(i)
# 分数表中的总人数
cursor.execute("SELECT COUNT(*) FROM score")
count1 = cursor.fetchone()
for q in count1:
scorers = int(q)
# 裁判表中的总人数
cursor.execute("SELECT COUNT(*) FROM referee")
count2 = cursor.fetchone()
for w in count2:
refereers = int(w)
# 管理员表中总人数
cursor.execute("SELECT COUNT(*) FROM admin")
count3 = cursor.fetchone()
for t in count3:
adminers = int(t)
additional = random.randint(8, 15) # 随机其他数据补充pie图的数据
conn.close() # 关闭游标释放空间
demo_pie() # 可视化pie图
ok,最后简单演示以下部分程序效果:

ok
最后希望以上代码对你有所帮助
本博客通过PyCharm 2022.3专业版连接MySQL 8.0数据库,创建并演示了一个运动会管理系统。内容包括管理员、裁判、运动员信息管理,分数增删改查以及运动会可视化。提供了详细代码和功能函数注释。

被折叠的 条评论
为什么被折叠?



