PyCharm连接数据库,实现运动会管理系统完成代码,以及每个功能函数的详细注释哦! 全网最详细代码,一步到位

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

运动会管理系统

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

最后希望以上代码对你有所帮助

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值