Du er ikke logget inn. Så lenge du ikke er logget inn går du glipp av muligheten for å holde styr på din egen progresjon.

Filtrering:

02.06: Differansen mellom to heltall

Filnavn: differanse.py

Lag en prosedyre som ber om og leser inn to heltall. Prosedyren skal deretter regne ut differansen mellom de to tallene og skrive ut svaret. Kjør programmet for å sjekke at alt fungerer som det skal.

Her er et eksempel på hvordan en kjøring av programmet kan se ut:

Oppgi verdien til x: 
> 25
Oppgi verdien til y: 
> 19
Differansen mellom x og y er 6.

Du behøver ikke tenke på at det første tallet kan være mindre enn det andre. Det er ikke nødvendig å regne ut absoluttverdien av differansen (men prøv gjerne å finne ut hvordan det gjøres, dersom du ønsker en ekstra utfordring).

def differanse():
    inp = input("Oppgi verdien til x:\n> ")
    x = int(inp)

    inp = input("Oppgi verdien til y:\n> ")
    y = int(inp)

    print("Differansen mellom x og y er", x - y)

differanse()    # Husk å kalle prosedyren!

02.14 Kodeflyt igjen

Dette er en penn- og papiroppgave

Forklar i hvilken rekkefølge de forskjellige linjene utføres når vi kjører programmet, ved å skrive tall foran linjene i programmet.
Hvis en linje kjøres flere ganger (for eksempel ved flere kall på samme funksjon) kan du skrive flere tall ved siden av setningen.

def kvadrat():
    tall = input("Tall: ")
    tall = int(tall)

    print(tall, "*", tall, "=", tall * tall)

a = True 
b = False

if a:
    kvadrat()

if b:
    kvadrat()

print("En gang til:")
kvadrat()

Visualisering med Python Tutor

5,12| def kvadrat():
6,13|     tall = input("Tall: ")
7,14|     tall = int(tall)
    |     
8,15|     print(tall, "*", tall, "=", tall * tall)
    | 
   1| a = True 
   2| b = False
    | 
   3| if a:
   4|     kvadrat()
    | 
   9| if b:
    |     kvadrat()
    | 
  10| print("En gang til:")
  11| kvadrat()

NB: Merk at programmet egentlig leser inn def kvadrat() først slik at når prosedyren er kalt, vet programmet hvilket linje å hoppe tilbake til. Derfor ville det også vært riktig å skrive '1' ved den første linjen. Det viktigste med oppgaven er å vise at du har forstått hvordan og hvor koden flyter inn i prosedyren.

02.22: Kodeflyt med prosedyrer

Dette er en penn- og papiroppgave

Forklar i hvilken rekkefølge de forskjellige linjene utføres når vi kjører programmet, ved å skrive tall foran linjene i programmet.
Hvis en linje kjøres flere ganger (f.eks. ved flere kall på samme prosedyre) kan du skrive flere tall ved siden av linjen.

def prosedyre_a():
    navn = input("Navn: ")
    print("Hei,", navn)

def prosedyre_b():
    alder = int(input("Alder: "))
    print("Om ti år er din alder", alder)

def start():
    a = 5
    b = 5

    if a > b:
        b = 10
    elif b > a:
        prosedyre_a()
    else:
        prosedyre_b()

    print(a + b)

start()
prosedyre_a()

PythonTutor

14|def prosedyre_a():
15|    navn = input("Navn: ")
16|    print("Hei,", navn)
  |
 9|def prosedyre_b():
10|    alder = int(input("Alder: "))
11|    print("Om ti år er din alder", alder)
  |
 2|def start():
 3|    a = 5
 4|    b = 5
  |    
 5|    if a > b:
  |        b = 10
 6|    elif b > a:
  |        prosedyre_a()
 7|    else:
 8|        prosedyre_b()
  |    
12|    print(a + b)
  |
 1|start()
13|prosedyre_a()

NB: Merk at programmet egentlig leser inn definisjonene av prosedyrene først slik at når en prosedyre er kalt, vet programmet hvilket linje å hoppe tilbake til. Derfor ville det også vært riktig å skrive '1' ved def prosedyre_a():, '2' ved def prosedyre_b():, og '3' ved def start():. Det viktigste med oppgaven er å vise at du har forstått hvordan og hvor koden flyter inn i prosedyren.