7050 if-sats

Det normala är att koden körs rad för rad. Med en if-sats kan man välja om ett antal kod-rader ska göras eller ej.

Exempel

text = input("Ange ett heltal: ")
tal = int(text)
if tal % 2 == 0:
    print('talet är jämnt')
else:
    print('talet är udda')
print('klart')

flödesdiagram

Syntax

if-sats

if villkor:
    #sats 1
    #sats 2
    #...
#kod efter if-sats

if-else-sats

if villkor:
    #sats 1
    #sats 2
    #...
else:
    #sats 1
    #sats 2
    #...
#kod efter if-sats

if med elif och else

if villkor:
    #sats 1
    #sats 2
    #...
elif villkor:
    #sats 1
    #sats 2
    #...
else:
    #sats 1
    #sats 2
    #...
#kod efter if-sats

if med flera elif och else

if villkor:
    #sats 1
    #sats 2
    #...
elif villkor:
    #sats 1
    #sats 2
    #...
elif villkor:
    #sats 1
    #sats 2
    #...
else:
    #sats 1
    #sats 2
    #...
#kod efter if-sats

fler if-satser

Alla if-satser måste ha en if-del.

Därefter följer eventuellt en eller flera elif.

Sist kommer eventuellt else.

Jämförelseoperatorer

operator betydelse exempel
== lika x == y
!= ej lika x != y
> större än x > y
< mindre än x < y
>= större eller lika med x >= y
<= mindre eller lika med x <=y

Sammansatta villkor

Villkor kan sättas samman med och samt eller. Två exempel följer.

Exempel 1

tal är större eller lika med 0 och tal är mindre än 10

Exempel 2

svar är "Oslo" eller svar är "oslo"

Exempel 1, som del av kod nedan.

tal = int(input("Mata in ett heltal: "))
if tal >= 0 and tal < 10:
    print("positiv ental")
else:
    print("negativt eller flersiffrigt")

Exempel 2, som del av kod nedan.

svar = input("Ange Norges huvudstad")
if svar == "Oslo" or svar == "oslo":
    print("rätt")
else:
    print("fel, rätt svar är Oslo")
operator innebörd
and och
or eller

Uppgifter

1

Be användaren mata in ett tal.

Om talet är mindre än noll skriv att det är negativt. Annars skriv att det är positivt.

2

Be användaren mata in näst sista siffran i sitt personnummer.

Om siffra är udda skriv ut: du är kille

Om siffran istället är jämn skriv ut: du är tjej

Tips: Ovan finns exempel på hur man avgör om ett tal är udda eller jämnt.

3

Be användaren mata in två tal. Berätta för användaren vilket som är störst.

4

Be användaren mata in ett tal. Ge feedback.

0 - 9 är ensiffriga tal

10 - 99 är tvåsiffriga tal

100 - 999 är tresiffriga tal

1000 - ... är minst fyrsiffriga tal

tal mindre än 0 är negativa

5

Be användaren mata in tre tal. Berätta vilket som är minst.

6

Be användaren mat in tre tal.

Programmet skriver ut de tre talen i storleksordning. Det minsta kommer först.

7

Be användaren mata in födelsemånad.

Programmet skriver ut vilken årstid användaren är född i.

8

Extra - för den som är snabb

Kort om slumptal, se kod nedan. Första raden import random ger tillgång till slumptal.

Koden random.randint(1, 6) ger slumptal mellan 1 och 6, som på en vanlig tärning.

import random 

slumptal = random.randint(1, 6)
print(slumptal);

101

Slumpa ett tal.

Om talet är 6 skriv ut du vann. Annars skriv ut du förlorade.

102

Ange mellan vilka tal du vill ha ett slumptal.

Slumpa tre tal i detta intervall. Skriv ut dem.

Eftertanke: Hur blir det om du vill slumpa 100 tal. Tänk, men skriv ingen kod.

103

Kasta två tärningar. Skriv ut resultatet.

Lika ger vinst. Annars förlust. Men två sexor ger storvinst.

104

Kasta tre tärningar. Skriv ut resultatet.

Lägg till en funktion av nedanstående i taget.

  1. Tre lika ger vinst.
  2. Tre sexor ger storvinst.
  3. Stege ger stegvinst. (Svår)
  4. Hitta på egna vinstvillkor.

105

Hitta på ett eget tärningsspel.

Börja litet och bygg ut stegvis.