Python之音乐专辑管理系统

简介: 音乐专辑管理系统是一款用于管理和维护音乐专辑信息的应用程序,支持添加、删除、修改和查询专辑详情(如专辑名、艺术家、发行日期及曲目列表)。系统运行需Python 3.x环境,硬件要求较低,适合个人及小型团队使用。

 音乐专辑管理系统

1.1需求分析

1.1.1系统概述

音乐专辑管理系统是一个用于管理音乐专辑信息的程序。用户可以通过该系统添加、删除、修改和查询音乐专辑的相关信息,包括专辑名称、艺术家、发行日期和曲目列表等。

1.1.2系统运行环境

一、硬件环境

内存:32MB

硬盘空间:1GB

显卡:SVGA 显示适配器

二、软件环境

Python 3.x 及以上版本

1.2总体设计

1.2.1整体分析

音乐专辑管理系统是一个用于管理音乐专辑信息的程序。用户可以通过该系统添加、删除、修改和查询音乐专辑的相关信息,包括专辑名称、艺术家、发行日期和曲目列表等。

该系统包括两个主要类:Album 和 MusicAlbumManagementSystem

Album 用于表示音乐专辑,包含专辑名称、艺术家、发行日期和曲目列表等属性。

MusicAlbumManagementSystem 用于管理音乐专辑,包括添加专辑、删除专辑、修改专辑和查询专辑等功能。

1.2.2整体流程图

image.gif 编辑

1.3程序代码

class Album:
    def __init__(self, name, artist, release_date, tracks):
        self.name = name
        self.artist = artist
        self.release_date = release_date
        self.tracks = tracks
class MusicAlbumManagementSystem:
    def __init__(self):
        self.albums = []
    def add_album(self, album):
        self.albums.append(album)
    def delete_album(self, album_name):
        for album in self.albums:
            if album.name == album_name:
                self.albums.remove(album)
                print(f"Album '{album_name}' deleted successfully.")
                break
        else:
            print(f"Album '{album_name}' not found.")
    def update_album(self, album_name, new_artist, new_release_date, new_tracks):
        for album in self.albums:
            if album.name == album_name:
                album.artist = new_artist
                album.release_date = new_release_date
                album.tracks = new_tracks
                print(f"Album '{album_name}' updated successfully.")
                break
        else:
            print(f"Album '{album_name}' not found.")
    def search_album(self, album_name):
        for album in self.albums:
            if album.name == album_name:
                return album
        return None
def main():
    music_system = MusicAlbumManagementSystem()
    while True:
        print("\n|----------音乐专辑管理系统----------|")
        print("            1. 添加专辑            ")
        print("            2. 删除专辑            ")
        print("            3. 修改专辑            ")
        print("            4. 查询单个专辑         ")
        print("            5. 查询全部专辑         ")
        print("            6. 退出               ")
        print("|----------------------------------|")
        choice = input("请选择操作:")
        if choice == "1":
            name = input("请输入专辑名称: ")
            artist = input("请输入艺术家: ")
            release_date = input("请输入发行日期: ")
            tracks = input("请输入曲目列表(用逗号分隔): ").split(",")
            new_album = Album(name, artist, release_date, tracks)
            music_system.add_album(new_album)
        elif choice == "2":
            album_name = input("请输入要删除的专辑名称: ")
            music_system.delete_album(album_name)
        elif choice == "3":
            album_name = input("请输入要修改的专辑名称: ")
            new_artist = input("请输入新的艺术家: ")
            new_release_date = input("请输入新的发行日期: ")
            new_tracks = input("请输入新的曲目列表(用逗号分隔): ").split(",")
            music_system.update_album(album_name, new_artist, new_release_date, new_tracks)
        elif choice == "4":
            album_name = input("请输入要查询的专辑名称: ")
            found_album = music_system.search_album(album_name)
            if found_album:
                print(f"专辑名称: {found_album.name}")
                print(f"艺术家: {found_album.artist}")
                print(f"发行日期: {found_album.release_date}")
                print(f"曲目列表: {', '.join(found_album.tracks)}")
            else:
                print(f"专辑 '{album_name}' 未找到.")
        elif choice == "5":
            print("全部专辑信息:")
            for album in music_system.albums:
                print(f"专辑名称: {album.name}")
                print(f"艺术家: {album.artist}")
                print(f"发行日期: {album.release_date}")
                print(f"曲目列表: {', '.join(album.tracks)}")
                print("--------------------")
        elif choice == "6":
            print("感谢使用音乐专辑管理系统。")
            break
        else:
            print("无效的选择,请重新输入。")
if __name__ == "__main__":
    main()

image.gif

1.4程序测试

1. 添加专辑

image.gif 编辑

image.gif 编辑

image.gif 编辑

2. 删除专辑并查询全部专辑

image.gif 编辑

3. 修改专辑并查询全部专辑

image.gif 编辑

4. 查询已有专辑和查询未有专辑

image.gif 编辑

5.退出

编辑
目录
相关文章
|
6天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
20 4
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
28天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
253 55
|
9天前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
2月前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品安全追溯系统的深度学习模型
使用Python实现智能食品安全追溯系统的深度学习模型
79 4
|
16天前
|
存储 缓存 监控
局域网屏幕监控系统中的Python数据结构与算法实现
局域网屏幕监控系统用于实时捕获和监控局域网内多台设备的屏幕内容。本文介绍了一种基于Python双端队列(Deque)实现的滑动窗口数据缓存机制,以处理连续的屏幕帧数据流。通过固定长度的窗口,高效增删数据,确保低延迟显示和存储。该算法适用于数据压缩、异常检测等场景,保证系统在高负载下稳定运行。 本文转载自:https://www.vipshare.com
109 66
|
1月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
175 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
3天前
|
机器学习/深度学习 算法 前端开发
基于Python深度学习果蔬识别系统实现
本项目基于Python和TensorFlow,使用ResNet卷积神经网络模型,对12种常见果蔬(如土豆、苹果等)的图像数据集进行训练,构建了一个高精度的果蔬识别系统。系统通过Django框架搭建Web端可视化界面,用户可上传图片并自动识别果蔬种类。该项目旨在提高农业生产效率,广泛应用于食品安全、智能农业等领域。CNN凭借其强大的特征提取能力,在图像分类任务中表现出色,为实现高效的自动化果蔬识别提供了技术支持。
基于Python深度学习果蔬识别系统实现
|
6天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
19 3
|
18天前
|
存储 算法 Python
文件管理系统中基于 Python 语言的二叉树查找算法探秘
在数字化时代,文件管理系统至关重要。本文探讨了二叉树查找算法在文件管理中的应用,并通过Python代码展示了其实现过程。二叉树是一种非线性数据结构,每个节点最多有两个子节点。通过文件名的字典序构建和查找二叉树,能高效地管理和检索文件。相较于顺序查找,二叉树查找每次比较可排除一半子树,极大提升了查找效率,尤其适用于海量文件管理。Python代码示例包括定义节点类、插入和查找函数,展示了如何快速定位目标文件。二叉树查找算法为文件管理系统的优化提供了有效途径。
47 5
|
1月前
|
机器学习/深度学习 算法 前端开发
基于Python深度学习的果蔬识别系统实现
果蔬识别系统,主要开发语言为Python,基于TensorFlow搭建ResNet卷积神经网络算法模型,通过对12种常见的果蔬('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜')图像数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django框架搭建Web网页端可视化操作界面,以下为项目实现介绍。
44 4
基于Python深度学习的果蔬识别系统实现