Skip to content

Commit

Permalink
solution
Browse files Browse the repository at this point in the history
  • Loading branch information
sashasyrota committed Oct 6, 2024
1 parent 8256ec5 commit 7a6064b
Show file tree
Hide file tree
Showing 7 changed files with 56 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 __future__ import annotations
from app.people.customer import Customer


class CinemaBar:
@staticmethod
def sell_product(customer: Customer, product: 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 __future__ import annotations
from app.people.cinema_staff import Cleaner


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

def movie_session(
self,
movie_name: str,
customers: list,
cleaning_staff: Cleaner
) -> None:
print(f'"{movie_name}" started in hall number {self.number}.')
for element in customers:
element.watch_movie(movie_name)
print(f'"{movie_name}" ended.')
cleaning_staff.clean_hall(self.number)
20 changes: 16 additions & 4 deletions app/main.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
# write your imports here
from app.cinema.bar import CinemaBar
from app.cinema.hall import CinemaHall
from app.people.cinema_staff import Cleaner
from app.people.customer import Customer


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:
result = []
for person in customers:
customer = Customer(person["name"], person["food"])
result.append(customer)
CinemaBar.sell_product(customer=customer, product=customer.food)
CinemaHall(hall_number).movie_session(movie, result, Cleaner(cleaner))
Empty file added app/people/__init__.py
Empty file.
6 changes: 6 additions & 0 deletions app/people/cinema_staff.py
Original file line number Diff line number Diff line change
@@ -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}.")
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 7a6064b

Please sign in to comment.