Göm meny
Gäller för: HT25

Storseminarium 1 - En sak i taget

Innan seminariet ska du ha gått igenom Inför seminariet nedan och gjort tillhörande quiz. Syftet med detta är att du ska bekanta dig med innehållet så eventuella frågor kan redas ut under seminariet.

Denna sida visar en del av det som kommer att diskuteras på seminariet. Det kan hända att handledarna också tar upp andra uppgifter som inte behöver något specifikt studentmaterial och då syns dessa uppgifter inte på sidan.

Inför seminariet

Under seminariet

Vi går igenom nedanstående uppgifter tillsammans, det kommer finnas möjlighet till diskussion och frågor. Känn er fria att följa med på uppgifterna på egen dator under seminariet om ni lär er bättre så, men vi kan inte garantera att vi har tid att vänta in alla.

Aritmetiska operationer

Uppgift 1: Beräkna

Prova att räkna ut nedanstående uttryck med hjälp av den interaktiva Python tolken

  • 3 + 3
  • 4 - 2
  • 3 / 2
  • 10 ** 3
  • -4 + 5
  • -9 + (2 * -3) ** 2

Vad händer? Vilken utskrift får vi? Stämmer det med vad du trodde?

Litteraler och Uttryck

Uppgift 2: Klassificera

Peka ut vad som är uttryck och vad som är litteraler i nedanstående.

  1. 3 + 3
  2. False
  3. not True
  4. 3.1415

Stämmer det med vad du trodde?

Variabler

Uppgift 3.1: str

Tilldela följande värde som sträng: Ford Prefekt till en variabel name.

Uppgift 3.2: int

Tilldela följande värde som integer: 42 till en variabel num_days.

Uppgift 3.3: float

Tilldela följande värde som float: 299792.458 till en variabel speed.

Uppgift 3.4: list

Tilldela de tre ovanstående variablerna till en lista travel_data. Skriv sedan ut listan i terminalen.

Listor

Uppgift 4.1 +-operatorn

Utöka listan med ett resmål Magrathea med hjälp av +-operatorn och skriv ut nya listan i terminalen.

Uppgift 4.2 Indexering av listor

Plocka ut antalet dagar som färden pågått och skriv ut i terminalen.

Strängar

Uppgift 5.1 Slicing av stängar

Givet följande:

1
name = "Ford Prefect"

Plocka ut förnamnet och tilldela en ny variabel first_name. Skriv ut variabeln i terminalen.

Uppgift 5.2: Indexering av strängar

Givet föjlande:

1
first_name = "Ford"

Skriv ut första bokstaven i förnamnet i terminalen.

Villkorssatser

Skapa en ny fil storsem1_villkorssatser.py.

Följande är givet för nedanstående uppgifter.

1
2
3
4
name = "Ford Prefect"
num_days = 42
speed = 299792.458
destination = "Magrathea"

För att anropa en funktion kan man köra filen i interaktivt läge med följande kommando i terminalen.

$ python3 -i storsem1_villkorssatser.py

Nu har datorn läst in koden i arbetsminnet. Vi kan manipulera våra variabler och anropa våra funktioner direkt i terminalen.

Uppgift 6.1: Sanningsvärden

Tilldela en variabel has_towel sanningsvärdet True.

Uppgift 6.2: if-satser

Skriv en if-sats, om has_towel är sann, skriv ut Du är redo för galaxen! i terminalen,

Uppgift 6.3 else-satser

Utöka if-satsen från ovan med en else-klausul, som skriver ut Katastrof! i terminalen. Testa koden med has_towel som både True och False. Vad händer? Vilken utskrift får vi? Stämmer det med vad du trodde?

Uppgift 6.4 elif-satser

Skriv kod som innehåller en av vardera: if, elif samt else.

  • Om du har handduk och färdas snabbare än eller lika med ljusets hastighet 299792.458 km/s, skriv ut Färdas snabbt och i optimal komfort!.
  • Om du har handduk och färdas under ljusets hastighet 299792.458 km/s, skriv ut Vi har precis startat.
  • Annars skriv ut Har ingen handduk... res på egen risk!.

Justera värden på variablerna tills ni fått alla utskrifter (inte samtidigt).

Vad händer? Vilken utskrift får vi? Stämmer det med vad du trodde?

Funktioner

Skapa en ny fil storsem1_funktioner.py.

Följande är givet för nedanstående uppgifter.

1
2
3
4
name = "Ford Prefect"
num_days = 42
speed = 299792.458
destination = "Magrathea"

Uppgift 7.1: funktions definition

Skriv en funktion hej_galaxen som skriver ut följande meddelande i terminalen Hej, galaxen! 🌌.

Kör sedan filen i interaktivt läge och anropa funktionen. Vad händer?

Uppgift 7.2: argument till funktion

Skriv en funktion traveling(name, speed) som skriver ut hur snabbt personen färdas med följande meddelande i terminalen.

1
2
traveling("Ford Prefect", 299792.458)
Ford Prefect färdas i 299792.458 km/s

Kör sedan filen i interaktivt läge och anropa funktionen med olika argument. Vad händer?

Uppgift 7.3: Returvärden

Skriv en funktion days_to_hours(num_days) som omvandlar dagar till timmar och returnerar resultatet, t.ex.

days_to_hours(2)
48

Uppgift 7.4: (Extra) Kombinera funktioner

Skriv en funktion hours_to_minutes(num_hours) som omvandlar timmar till minuter och returnerar resultatet t.ex.

1
2
hours_to_minutes(3)
180

Kombinera nu funktionerna days_to_hours, hours_to_minutes och print. Så att med num_days = 2, så fås utskriften

2880 minuter

Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2024-07-26