from copy import copy
class Film:
    def __init__(self,titel,speelduur) -> None:
        assert speelduur >= 60, "speelduur van film moet minimaal 60 minuten zijn"
        self.titel = titel
        self.speelduur = speelduur
        self.rating = 0

    def geef_rating(self,ratings):
        l = [x for x in ratings if x >= 0 and x <= 5]
        self.rating = (int(sum(l)/len(l)) if len(l) != 0 else 0)
    
    def __eq__(self, andere_film) -> bool:
        if not isinstance(andere_film,self.__class__):
            return False
        else:
            return self.titel == andere_film.titel

    def __str__(self) -> str:
        uur = self.speelduur // 60
        m = self.speelduur %60
        srating = (self.rating * "*") if self.rating != 0 else "geen rating"
    
        return self.titel + f"({uur}u{m}min;rating: {srating})" 
class Zaal:
    def __init__(self, nummer) -> None:
        self.nummer = nummer
        self.film = None
    
    def zet_film(self,film):
        if  isinstance(film,Film) and self.film == None:
            self.film = copy(film)
    
    def verwijder_film(self):
        self.film = None
    
    def zelfde_film(self, andere_zaal):
        if not isinstance(andere_zaal, Zaal):
            return False
        else:
            return self.film == andere_zaal.film
    
    def zet_rating(self,ratings):
        if self.film != None:
            self.film.geef_rating(ratings)
    
    def __str__(self) -> str:
        zin1 = "Zaal: " + str(self.nummer) 
        zin2 = str(self.film) if self.film != None else "geen film"
        return zin1 + "\n" + zin2 

frozen = Film("Frozen",135)
zaal1 = Zaal(12)
zaal2 = Zaal(14)
zaal1.zet_film(frozen)
zaal2.zet_film(frozen)

if zaal1.film == zaal2.film:
    info = "dezelfde film als"
else:
    info = "een andere film dan"
print('in zaal met nummer ' + str(zaal1.nummer) + " speelt " + info + " de film in zaal met nummer " + str(zaal2.nummer))
zaal3 = Zaal(11)
andere_film = Film("Andere",100)
zaal3.zet_film(andere_film)
if zaal1.film == zaal3.film:
    info = "dezelfde film als"
else:
    info = "een andere film dan"
print('in zaal met nummer ' + str(zaal1.nummer) + " speelt " + info + " de film in zaal met nummer " + str(zaal3.nummer))

zaal1.zet_rating([1,2,3,4,10,5,1,2,3,4,5,20])
zaal2.zet_rating([5,5,5,5,5])
print(zaal1)