Skip to content

Commit

Permalink
Solution
Browse files Browse the repository at this point in the history
  • Loading branch information
SerhiyNecha committed Oct 14, 2024
1 parent 8256ec5 commit bb5e38d
Show file tree
Hide file tree
Showing 7 changed files with 71 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}.")
17 changes: 17 additions & 0 deletions app/cinema/hall.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
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)
35 changes: 31 additions & 4 deletions app/main.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,33 @@
# 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:

hall = CinemaHall(hall_number)
bar_func = CinemaBar()
cleaning = Cleaner(cleaner)
list_of_customer = []

for bar_sell in customers:
customer = Customer(bar_sell["name"], bar_sell["food"])
list_of_customer.append(customer)
bar_func.sell_product(product=bar_sell["food"], customer=customer)

CinemaHall.movie_session(self=hall, movie_name=movie,
customers=list_of_customer,
cleaning_staff=cleaning)


customers = [
{"name": "Bob", "food": "Coca-cola"},
{"name": "Alex", "food": "popcorn"}
]
hall_number = 5
cleaner = "Anna"
movie = "Madagascar"
cinema_visit(customers=customers, hall_number=5,
cleaner="Anna", movie="Madagascar")
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}.")
8 changes: 8 additions & 0 deletions app/people/customer.py
Original file line number Diff line number Diff line change
@@ -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}".')

0 comments on commit bb5e38d

Please sign in to comment.