Dit is een vervolg van METAR verwerken voor luchtvaart1.

Als deze oefening juist is mag je de optionele oefening laten vallen en omgekeerd.

ElementsyntaxVertalingUitleg
EBBR Bestaat altijd uit 4 letters Brussel Zaventem Luchthaven: ICAO code
150950Z Bestaat altijd uit 6 cijfers + 'Z' aanduiding voor zulu tijd (=UTC tijd) 15de dag van de maand, 09u50 UTC Tijdstip: DDUUMMZ Staat voor dag van de maand + uur en minuut van uitgave in zulu tijd
02011KT Bestaat altijd uit 5 cijfers + 'KT' aanduiding voor knopen Wind vanuit 20° met een sterkte van 11 knopen. Wind: wordt aangeven met een richting (3 cijfers) en een sterkte in knopen (2 cijfers)
8500 Bestaat altijd uit 4 cijfers Zichtbaarheid is 8.5 km. Zichtbaarheid: de afstand van zichtbaarheid wordt aangeven in meter. Wanneer deze waarde gelijk is aan 9999, betekent dit zichtbaarheid >10km.
RA+ Bestaat altijd uit 2 letters + een optionele +/- karakter Het regent zwaar Weerfenomeen: worden beschreven met codes: "Het regent" (RA), "Het mist" (BR), "Het sneeuwt" (SN), "Het vriest" (FZ).
De optionele + of - ernaast geven zwaar of licht aan.
BKN038 Bestaat altijd uit 3 letters en 3 cijfers. met aanzienlijke wolken op 3800 voet Wolkenformaties: de eerste 3 letters geven aan weinig (FEW = few), verspreide (SCT =scattered), aanzienlijke (BKN = broken) of overtrokken (OVC = overcast).
De 3 laatste cijfers bepalen de hoogte van de wolken in honderden voet.
Q1028 Begint altijd met een Q en bestaat verder uit 4 cijfers. 1028 hectopascal QNH: luchtdruk op zeespiegelniveau in hectopascal

We willen controleren of het bericht het juiste formaat heeft. In deze oefening wordt een eerste stap uitgewerkt, in de volgende oefening zal dit verder uitgewerkt worden.

Schrijf twee logische functies:

  1. De logische functie check_wind controleert of de parameter het juiste formaat heeft voor de beschrijving van het derde deeltje (wind).
  2. De logische functie check_wolkenformaties controleert of de parameter het juiste formaat heeft voor de beschrijving van het voorlaatste deeltje (wolken).

Opmerking

Er zullen extra testsets worden toegevoegd na de deadline van indienen. Zorg dus dat je oplossing alle situaties correct afhandelt.

Voorbeelden

>>> check_wind("02003KT")
True
>>> check_wind("2105KT"")
False  
>>> check_wolkenformaties("BKN038")
True
>>> check_wolkenformaties("STC98"")
False  

Als deze oefening juist is mag je de optionele oefening laten vallen en omgekeerd.