Skip to content

Commit

Permalink
Solution
Browse files Browse the repository at this point in the history
  • Loading branch information
Koliesnichenko committed Oct 9, 2024
1 parent 8256ec5 commit 3536752
Show file tree
Hide file tree
Showing 7 changed files with 62 additions and 4 deletions.
Empty file added app/cinema/__init__.py
Empty file.
8 changes: 8 additions & 0 deletions app/cinema/bar.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from app.people.customer import Customer


class CinemaBar:

@staticmethod
def sell_product(product: str, customer: Customer) -> None:
print(f"Cinema bar sold {product} to {customer.name}.")
19 changes: 19 additions & 0 deletions app/cinema/hall.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from app.people.cinema_staff import Cleaner
from app.people.customer import Customer


class CinemaHall:

def __init__(self, number: int) -> None:
self.number = number

def movie_session(
self, movie_name: str,
customers: list[Customer],
cleaning_staff: Cleaner
) -> 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)
25 changes: 21 additions & 4 deletions app/main.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
# write your imports here
from app.cinema.bar import CinemaBar
from app.cinema.hall import CinemaHall
from app.people.customer import Customer
from app.people.cinema_staff import Cleaner


def cinema_visit(customers: list, hall_number: int, cleaner: str, movie: str):
# write you code here
pass
def cinema_visit(
customers: list,
hall_number: int,
cleaner: str,
movie: str) -> None:
customer_list = [
Customer(customer["name"],
customer["food"]) for customer in customers]

cinema_hall = CinemaHall(hall_number)
cinema_bar = CinemaBar()
cleaner = Cleaner(cleaner)

for customer in customer_list:
cinema_bar.sell_product(customer.food, customer)

cinema_hall.movie_session(movie, customer_list, cleaner)
Empty file added app/people/__init__.py
Empty file.
7 changes: 7 additions & 0 deletions app/people/cinema_staff.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
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}.")
7 changes: 7 additions & 0 deletions app/people/customer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
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}".')

0 comments on commit 3536752

Please sign in to comment.