Een weerkundig instituut krijgt dagelijks een bestand met de metingen van het ozongehalte in de lucht op een aantal vastgelegde meetplaatsen. Het ozongehalte wordt hierbij uitgedrukt als een reëel getal en de meetplaatsen als een String. In deze oefening krijg je van enkele dagen de metingen van al de vastgelegde meetplaatsen. Er wordt gevraagd om te bepalen in welke meetplaatsen het ozongehalte op meer dan
Ontwerp en implementeer een algoritme voor dit probleem en geef aan hoe daarbij de standaard datatypes kunnen worden gebruikt. Denk ook na over de tijdscomplexiteit van je algoritme.
Schrijf een Python-functie risicoGebieden(metingen: list, k: int, kritischeWaarde: float)
, die een lijst van metingen als argument heeft, alsook een natuurlijk getal tuple(str, float)
waarbij de string de meetlocatie voorsteld en de float de meting. De uitvoer van de functie risicoGebieden
is een set van meetplaatsen wiens ozongehalte de kritische waarde meer dan
>>> risicoGebieden([("Gent",90.1),("Antwerpen",120.9),("Brussel",181.1),("Brugge",70.7),("Gent",150.50),("Antwerpen",190.3),("Brussel",179.4),("Brugge",120.2),("Gent",190.2),("Antwerpen",185.1),("Brussel",200.1),("Brugge",110.1), ("Gent",160.4),("Antwerpen",162.1),("Brussel",190.9),("Brugge",120.1),("Gent",180.7),("Antwerpen",125.3),("Brussel",190.1),("Brugge",177.5)], 2, 180) {'Brussel'} >>> risicoGebieden([("Gent",90.1),("Antwerpen",120.9),("Brussel",181.1),("Brugge",70.7),("Gent",150.50),("Antwerpen",190.3),("Brussel",179.4),("Brugge",120.2),("Gent",190.2),("Antwerpen",185.1),("Brussel",200.1),("Brugge",110.1),("Gent",160.4),("Antwerpen",182.1),("Brussel",190.9),("Brugge",120.1),("Gent",180.7),("Antwerpen",125.3),("Brussel",190.1),("Brugge",177.5)], 1, 180 ) {'Antwerpen', 'Gent', 'Brussel'} >>> risicoGebieden([("Gent",90.1),("Antwerpen",120.9),("Brussel",181.1),("Brugge",70.7),("Gent",150.50),("Antwerpen",190.3),("Brussel",179.4),("Brugge",120.2),("Gent",190.2),("Antwerpen",185.1),("Brussel",200.1),("Brugge",110.1),("Gent",160.4),("Antwerpen",182.1),("Brussel",190.9),("Brugge",120.1),("Gent",180.7),("Antwerpen",125.3),("Brussel",190.1),("Brugge",177.5),("Gent",155.2),("Antwerpen",199.2),("Brussel",200.1),("Brugge",160.1),("Gent",145.2),("Antwerpen",179.2),("Brussel",170.1),("Brugge",150.1),("Gent",185.2),("Antwerpen",190.2),("Brussel",185.3),("Brugge",160.7)], 3, 180) {'Antwerpen', 'Brussel'}