JustCaptain kod-buduschego
fd53ca53a7acd6747e1bbff7184ba2bca75932b7
Перейти к файлу
Код
main.py
class Post:
    def __init__(self, text: str) -> None:
        self.text: str = text
        self.likes: int = 0
        self.comments: list[Comment] = []

    def like(self) -> None:
        self.likes += 1

    def show_comments(self) -> None:
        for comment in self.comments:
            print(comment)


class User:
    def __init__(self, name: str, age: int, city: str) -> None:
        self.name: str = name
        self.age: int = age
        self.city: str = city
        self.__follow: int = 0
        self.posts: list[Post] = []

    def show_profile(self) -> None:
        info: str = "Имя: {}\nВозраст: {}\nГород: {}".format(
            self.name, self.age, self.city
        )
        print(info)

    def show_posts(self) -> None:
        for post in self.posts:
            print(post.text)

    def follow(self) -> None:
        self.__follow += 1

    def create_post(self, text: str) -> None:
        new_post = Post(text=text)
        self.posts.append(new_post)

    def get_rating(self) -> int:
        likes: int = 0
        for post in self.posts:
            likes += post.likes
        return (self.__follow * 5) + likes


class Comment:
    def __init__(self, user: User, text: str) -> None:
        self.author: str = user.name
        self.text: str = text


class VIPUser(User):
    def get_rating(self) -> int:
        likes: int = 0
        for post in self.posts:
            likes += post.likes
        return ((self.__follow * 5) + likes) * 2


user1 = User(name="admin", age=999, city="None")
user1.follow()
user1.follow()
user1.show_profile()
user1.create_post(text="Какая крутая погода")
user1.create_post(text="Python3 or Python2, не пойму...")
print(user1.posts)
user1.show_posts()
print(user1.get_rating())

vip_user = VIPUser(name="Эдвард", age=50, city="Moscow")
vip_user.follow()
vip_user.follow()
print(vip_user.get_rating())