diff --git a/app/cinema/bar.py b/app/cinema/bar.py new file mode 100644 index 000000000..2009b5062 --- /dev/null +++ b/app/cinema/bar.py @@ -0,0 +1,4 @@ +class CinemaBar: + @staticmethod + def sell_product(product: str, customer: object) -> None: + print(f"Cinema bar sold {product} to {customer.name}.") diff --git a/app/cinema/hall.py b/app/cinema/hall.py new file mode 100644 index 000000000..147d4b615 --- /dev/null +++ b/app/cinema/hall.py @@ -0,0 +1,16 @@ +class CinemaHall: + + def __init__(self, number: int) -> None: + self.number = number + + def movie_session( + self, + movie_name: str, + customers: list, + cleaning_staff: object + ) -> None: + print(f'"{movie_name}" started in hall number {self.number}.') + for customer in customers: + customer.watch_movie(movie_name) + print(f'"{movie_name}" ended.') + cleaning_staff.clean_hall(self.number) diff --git a/app/main.py b/app/main.py index 7eeef6542..557aa2e66 100644 --- a/app/main.py +++ b/app/main.py @@ -1,6 +1,19 @@ -# write your imports here +from app.people.cinema_staff import Cleaner +from app.people.customer import Customer +from app.cinema.hall import CinemaHall +from app.cinema.bar import CinemaBar -def cinema_visit(customers: list, hall_number: int, cleaner: str, movie: str): - # write you code here - pass +def cinema_visit( + customers: list[dict], + hall_number: int, + cleaner: str, + movie: str +) -> None: + customer_list = [] + for customer in customers: + customer_list.append(Customer(customer["name"], customer["food"])) + cleaning_staff = Cleaner(cleaner) + for customer in customer_list: + CinemaBar.sell_product(customer.food, customer) + CinemaHall(hall_number).movie_session(movie, customer_list, cleaning_staff) diff --git a/app/people/cinema_staff.py b/app/people/cinema_staff.py new file mode 100644 index 000000000..3724afa97 --- /dev/null +++ b/app/people/cinema_staff.py @@ -0,0 +1,6 @@ +class Cleaner: + def __init__(self, name: str) -> None: + self.name = name + + def clean_hall(self, hall_number: int) -> None: + print(f"Cleaner {self.name} is cleaning hall number {hall_number}.") diff --git a/app/people/customer.py b/app/people/customer.py new file mode 100644 index 000000000..2ed56a327 --- /dev/null +++ b/app/people/customer.py @@ -0,0 +1,8 @@ +class Customer: + + def __init__(self, name: str, food: str) -> None: + self.name = name + self.food = food + + def watch_movie(self, movie: str) -> None: + print(f'{self.name} is watching "{movie}".')