Göm menyn

Introduktion

Du skall skapa ett program som hanterar data för meteorologer. Programmet kommer att presentera temperaturer uppmätta under en vecka samt lite härlett data.

Generella tips

Tänk på att man alltid kan göra print på en lista för att se exakt vad den innehåller.

Del A - Generera temperaturer

Hur skall vi få tag i temperaturdata? Man skulle här kunna tänka sig lite olika varianter. T.ex. skulle man kunna hämta detta från nätet, eller från datorns hårddisk, eller helt enkelt låta användaren mata in allt från tangentbordet. För att det skall bli någorlunda enkelt (men fortfarande något nytt) har vi här bestämt oss för att slumpa lite data. Det kanske inte är så realistiskt, men vi får då i alla fall lite data att jobba med i våra listor.

Skriv ett program som låter användaren mata in ett heltal D, och två flyttal A och B. Heltalet D, representerar hur många dagar som vi skall generera temperaturdata för. A och B är under och övre gräns för det intervall som temperaturerna skall slumpas inom. Programmet skall ha åtminstone följande två funktioner:

generate tar parametrarna D, A och B. Funktionen skall returnera flyttal i en lista. Flyttalen skall ligga i intervallet [A, B]. Det skall vara 4 flyttal för varje dag (D).

display tar listan med temperaturer och skriver ut den på skärmen (se körexemplet). De fyra första temperaturerna i listan är för kl 7.00, 12.00, 19.00 och 02.00 på den första dagen. Nästa fyra temperaturer är för dessa klockslag på andra dagen, o.s.v.

Körexempel:

Välkommen till meteorologsprogrammet!

Mata in antalet dagar: 8
Mata in undre gräns: 14
Mata in övre gräns: 29

Temperaturer:
Tid      Dag 1   Dag 2   Dag 3   Dag 4   Dag 5   Dag 6   Dag 7   Dag 8
07:00     17.4    21.9    20.4    27.5    27.0    22.1    24.8    28.5
12:00     28.6    17.0    25.6    24.7    27.3    27.5    23.4    19.4
19:00     24.0    24.8    20.0    15.3    26.2    23.1    18.7    28.5
02:00     24.4    19.4    17.1    25.2    28.3    25.9    17.3    15.7

TIPS: Spara undan tiderna "07:00", "12:00", "19:00" och "02:00" i en egen lista och använd denna när du skriver ut tabellen. Då blir lösningen mer generell och lättare att ändra/utöka om man vill modifiera tiderna senare.

Del B - Varmaste dagen

Du skall nu göra ett tillägg till det magnifika meteorologprogrammet. Man vill självklart även veta vilken dag som var varmast! Den varmaste dagen definierar vi som den dag som hade högst medeltemperatur. Utöver att följa nedanstående körexempel skall ditt program ha funktionerna:

warmest_day som tar alla temperaturer och returnerar den dag som var varmast. TIPS: Skapa en ny lista med medeltemperaturen för varje dag. Hitta sedan största talet i den listan. Returnera både största medlet och dagens nummer.

get_day som tar alla temperaturer och en dag (ett heltal) som parametrar. Funktionen skall returnera de fyra temperaturerna för den dagen, som en lista. Om vi t.ex. hade anropat get_day med temperaturerna från körexemplet ovan och en 3:a så skulle vi få ut listan [20.4, 25.6, 20.0, 17.1].

Körexempel:

Välkommen till meteorologsprogrammet!

Mata in antalet dagar: 6
Mata in undre gräns: 10
Mata in övre gräns: 31

Temperaturer:
Tid      Dag 1   Dag 2   Dag 3   Dag 4   Dag 5   Dag 6
07:00     30.6    18.5    29.0    11.7    11.5    28.9
12:00     21.9    26.2    17.3    23.0    17.4    29.8
19:00     15.3    16.5    11.1    28.7    11.8    22.0
02:00     17.1    24.4    16.0    26.1    30.8    21.4

Varmaste dagen: Dag 6, medeltemp: 25.5
Kl 07:00   12:00   19:00   02:00
    28.9    29.8    22.0    21.4

Del C - Mediantemperatur

Slutligen vill man även veta mediantemperaturen. För detta behöver vi sortera listan med temperaturer. Detta kan du göra på två sätt, antingen använder du Pythons inbyggda funktion sorted, eller så skapar du dig en egen funktion för att sortera. I det senare fallet kan du utgå ifrån din funktion som du gjorde i del B där du hittade det maximala värdet i en lista. Resten får du klura ut själv!

Körexempel:

Välkommen till meteorologsprogrammet!

Mata in antalet dagar: 3
Mata in undre gräns: 5
Mata in övre gräns: 8

Temperaturer:
Tid      Dag 1   Dag 2   Dag 3
07:00      7.4     5.2     7.6
12:00      6.4     7.0     7.9
19:00      7.6     6.9     7.0
02:00      6.1     6.6     7.3

Mediantemperatur: 7.0

Varmaste dagen: Dag 3, medeltemp: 7.4
Kl 07:00   12:00   19:00   02:00
     7.6     7.9     7.0     7.3


	  

Sidansvarig: Pontus Haglund
Senast uppdaterad: 2024-08-14