Skip to content

Commit

Permalink
Update 2-else-elif.md
Browse files Browse the repository at this point in the history
  • Loading branch information
linza79 authored Sep 7, 2024
1 parent 3c6a21e commit 5669ecd
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions data/osa-2/2-else-elif.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Efter den här delen

</text-box>

Vi tar nu en titt på ett program som ber användaren att ge en siffra och därefter skriver ut ett meddelande vars innehåll beror på om siffran är negativ, positiv eller lika med noll:
Vi tar nu en titt på ett program som ber användaren att mata in ett tal och därefter skriver ut ett meddelande vars innehåll beror på om talet är negativt, positivt eller lika med noll:

```python
siffra = int(input("Ge ett tal: "))
Expand All @@ -27,9 +27,9 @@ if siffra >= 0:
print("Talet är positivt eller noll")
```

Det här verkar något klumpigt och det finns en del upprepning. Vi vill ju bara köra ett av if-blocken eftersom numret alltid är antingen under noll, eller noll eller över. Det vill säga bara ett av villkoren `siffra < 0` och `siffra >= 0` är samtidigt sant. Därför är den fösta if-satsen den enda som behövs – om villkoret är sant är siffran negativ, annars är siffran noll eller över.
Det här verkar något klumpigt och det finns en del upprepning. Vi vill ju bara köra ett av if-blocken eftersom talet alltid är antingen mindre än, större än eller lika med noll. Endast ett av villkoren `tal < 0` och `tal >= 0` kan samtidigt vara sant. Därför är den första if-satsen den enda som behövs – om villkoret är sant är talet negativt, annars är talet noll eller positivt.

I stället för att skapa två if-satser kan vi skapa en gren som körs då alla villkor är osanna. Det här kallas else-sats.
I stället för att skapa två if-satser kan vi skapa en förgrenad if-sats, där en av grenarna körs då alla villkor är falska. Det här kallas else-sats.

Så här kan vi skriva om det föregående exemplet:

Expand All @@ -42,18 +42,18 @@ else:
print("Talet är positivt eller noll")
```

När vi bygger upp en if-else-sats kommer exakt en av grenarna att köras. Se följande bild:
I en if-else-sats kommer alltid endast en av grenarna att köras. Se följande bild:

<img src="2_2_1.png">

Obs! Det kan aldrig finnas en else-gren före en if-gren. En if-gren och en else-gren bildar en if-else-sats.

Följande exempel kollar om den siffra användaren anger är jämnt eller inte. Det här kan restoperatorn `%` användas för. Restoperatorn anger resten när två heltal divideras. När ett tal divideras med två är det jämnt då resten är noll. Annars är talet inte jämnt.
Följande exempel kollar om det tal användaren matar in är jämnt eller inte. För att kolla det använder vi restoperatorn `%`, som anger resten när två heltal divideras. När ett tal divideras med två är det jämnt då resten är noll. Annars är talet udda.

```python
siffra = int(input("Ge ett tal: "))
tal = int(input("Ge ett tal: "))

if siffra % 2 == 0:
if tal % 2 == 0:
print("Talet är jämnt")
else:
print("Talet är ojämnt")
Expand Down Expand Up @@ -120,7 +120,7 @@ Du är myndig!

## Flera grenar med elif-satser

Ofta finns det fler än två alternativ som ett program måste ta i beaktande. Till exempel resultatet av en fotbollsmatch kan se ut på tre sätt: hemmalaget vinner, bortalaget vinner eller oavgjort.
Ofta behöver ett program beakta fler än två alternativ. Till exempel kan resultatet för en fotbollsmatch se ut på tre sätt: hemmalaget vinner, bortalaget vinner eller oavgjort.

En if-sats kan bestå av elif-grenar – "else if". Till den här grenen kommer man om villkoret i någon av de tidigare grenarna inte uppfylls.

Expand Down Expand Up @@ -166,7 +166,7 @@ Oavgjort!

</sample-output>

I exemplet ovan finns tre grenar varav exakt en körs. En if-sats kan dock bestå av fler än en elif-gren. Dessutom är en else-gren inte obligatorisk.
I exemplet ovan finns tre grenar varav exakt en körs. En if-sats kan dock innehålla fler än en elif-gren. Dessutom är en else-gren inte obligatorisk.

Det här är också en helt korrekt if-sats:

Expand All @@ -193,7 +193,7 @@ Tack och hej.

</sample-output>

Märk att det föregående exemplet saknar else-gren. Om användaren ger ett datum som inte uppfyller villkoret på någon av if- eller elif-grenarna, kommer ingen av grenarna att köras.
Det senaste exemplet saknar else-gren. Om användaren ger ett datum som inte uppfyller villkoret på någon av if- eller elif-grenarna, kommer ingen av grenarna att köras.

<sample-output>

Expand Down Expand Up @@ -238,7 +238,7 @@ Talen är lika stora!

<in-browser-programming-exercise name="Äldre" tmcname="osa02-06_aldre" height="550px">

Skapa ett program som frågar efter namnen och åldrarna hos två personer. Programmet ska skirva ut namnet på den äldre personen.
Skapa ett program som frågar efter namnen och åldrarna hos två personer. Programmet ska skriva ut namnet på den äldre personen.

Exempel:

Expand Down Expand Up @@ -270,12 +270,12 @@ Amadeus och Vilma är lika gamla

<in-browser-programming-exercise name="Sist i alfabetet" tmcname="osa02-07_sist_i_alfabetet" height="500px">

Förutom med siffror, kan man också jämföra storleken på strängar i Python. Strängen `a` är mindre än strängen `b` om strängen `a` kommer före i alfabetet än strängen `b`. Observera att det här gäller då
Förutom att jämföra tal, kan man också jämföra storleken på strängar i Python. Strängen `a` är mindre än strängen `b` om strängen `a` kommer före i alfabetet än strängen `b`. Observera att det här gäller då

* man jämför bokstäver med samma storlek (små/STORA)
* strängarna innehåller enbart tecknen a-z eller A-Z.

Skapa ett program som ber användaren ge två ord. Programmet skriver ut det av orden som kommer senare i alfabetet.
Skapa ett program som ber användaren mata in två ord. Programmet ska sedan skriva ut det ord som kommer senare i alfabetet.

Du kan anta att orden endast innehåller små bokstäver.

Expand Down

0 comments on commit 5669ecd

Please sign in to comment.