Anime Management Class and Sample Data

A simple Python class representing an Anime item with an update method and a function to display a list of anime objects. Includes sample data for demonstration.
 avatar
thuanmt
python
a month ago
1.9 kB
4
Indexable
# Code mẫu
class AnimeItem:
    def __init__(self, anime_id, title, release_date, image=None, rating=None, link=None):
        self.id = anime_id
        self.title = title
        self.release_date = release_date
        self.image = image
        self.rating = float(rating) if rating else 0
        self.link = link

    def update(self, new_data: dict):
        # Thuộc tính nào trống sẽ không cập nhật
        for attribute, value in new_data.items():
            if value:
                setattr(self, attribute, value)


anime_list = [
    AnimeItem(1, "Naruto", "2002-10-03", rating=8.3),
    AnimeItem(2, "One Piece", "1999-10-20", rating=8.7),
    AnimeItem(3, "Attack on Titan", "2013-04-07", rating=9.0),
]


def print_anime_list(anime_list):
    # In ra danh sách anime
    for anime in anime_list:
        print("ID:", anime.id)
        print("Title:", anime.title)
        print("Release Date:", anime.release_date)
        print("Rating:", anime.rating)
        print("-" * 30)

def add_anime(anime_list, anime_item):
    # Thêm một anime mới vào danh sách
    anime_list.append(anime_item)

def update_anime(anime_list, anime_id, new_data):
    # Cập nhật thông tin của một anime dựa trên id
    for anime in anime_list:
        if anime.id == anime_id:
            anime.update(new_data)
            break

def delete_anime(anime_list, anime_id):
    # Xóa một anime khỏi danh sách dựa trên id
    for anime in anime_list:
        if anime.id == anime_id:
            anime_list.remove(anime)
            break

# Thêm một anime mới
new_anime = AnimeItem(4, "Demon Slayer", "2019-04-06", rating=8.5)
add_anime(anime_list, new_anime)
update_anime(anime_list, 1, {"rating": 8.5})
update_anime(anime_list, 1, {"title": "Doraemon"})
delete_anime(anime_list, 2)

print_anime_list(anime_list)
Editor is loading...
Leave a Comment