Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Oppgave 1

...

Lag en for-løkke som skriver ut til skjermen ”Bolton Wanderers!” 20 ganger.

Oppgave 2 While-løkke
Lage en while-løkke som genererer et tilfeldig tall mellom 0 og 10. Tallet som genereres skrives ut til skjermen, og while-løkken skal stoppe hvis det tilfeldige tallet blir 7.

Oppgave 3 Funksjoner

- Teori om funksjoner

  1. Beskriv med egne ord hva en funksjon er og hvorfor man bruker funksjoner.

    1. Skriv ned syntaksen (hvordan en funksjon ser ut) til en funksjon.
    2. Kan en funksjon være uten innparametre – hvorfor (ikke)?
    3. Kan en funksjon være uten returverdi – hva er isåfall vitsen?
  2. Hva menes med å kalle på en funksjon? Gi et eksempel.

Oppgave 2 - Funksjoner

...

  1. Lag en funksjon 
  1. velkommen som skriver ut til skjermen: ”Velkommen til de røde elefanters evighet.”
  2. Lag en funksjon

...

  1. addisjon som tar inn to tall (

...

  1. tall1 og tall2) og returnerer summen av disse.

...

Oppgave 4 Vårt første lille program (skript)

1.

  1. Code Block
    languagepy
    titleEksempel på kjøring
    #print(addisjon(4, 5.2))
    9.2
    >>>

Oppgave 3 - Negative tall

Lag funksjonen erNegativ som tar inn et heltall og returnerer True dersom tallet er negativt, og ellers False.
Bonus: Hva slags datatype(integer/string/float/boolean) returneres fra funksjonen, og hva kan den dermed brukes som?

Code Block
languagepy
titleEksempel på kjøring
#print(erNegativ(-3))
True
 
#print(erNegativ(5))
False

Oppgave 4 - Absoluttverdi

Lag en funksjon absolutt som tar inn et heltall og returnerer absoluttverdien til tallet. Her kan du benytte deg av den innebygde funksjonen abs() hvis det er ønskelig. 

Code Block
languagepy
titleEksempel på kjøring
#print(absolutt(-4))
4
 
#print(absolutt(5))
5

Oppgave 5 - Minste tall

  • Lag en funksjon minsteTall som tar inn to tall, a og b, og returnerer det minste tallet. Hvis tallene er like har det ikke noe å si om du velger å returnere a eller b så lenge et av dem returneres.
  • Lag en ny funksjon minsteAvTreTall som tar inn tre tall, ab og c, og returnerer det minste tallet.
Code Block
languagepy
titleEksempel på kjøring
#print(minsteTall(2,5))
2
 
#print(minsteTall(4, 4))
4
 
#print(minstAvTreTall(6,1,3))
1
 
#print(minstAvTreTall(2,5,2))
2

Oppgave 6 - Index til minste tall i liste

Lag en funksjon, indeks_minste_element, som tar inn en liste med heltall og returnerer indeksen (posisjonen i listen) til det minste elementet i denne listen.

Code Block
languagepy
titleEksempel på kjøring
#print(indeks_minste_element([1,2,5,3,6,9,0,3,5]))
6
 
#print(indeks_minste_element([1,0,2,3,4,5,6,0]))
1

Oppgave 7 - Negative tall i tabell

Lag en funksjon negativ_tabell som tar inn en liste med heltall og returnerer True hvis ett eller flere av tallene i listen er negative. Ellers skal den returnere False.
Hint: Her kan du bruke to av funksjonene( erNegativ() og indeks_minste_tall() ) som du allerede har laget for å løse oppgaven.

Code Block
languagepy
titleEksempel på kjøring
#print(negativ_tabell([0,1,2,3,4,5,6,2,32]))
False

#print(negativ_tabell([1,2,1,3,-3,1,4,2]))
True

#print(negativ_tabell([-1,2,1,-2,2,-3]))
True

Oppgave 8 - Tilfeldig tall

  1. Lag en funksjon som tar inn nedre og øvre grense som argumenter, og returnerer et tilfeldig tall i dette intervallet.
  2. Ta inn den nedre og den øvre grensen fra brukeren, og kall funksjonen med disse som argumenter.
Code Block
languagepy
titleEksempel på kjøring
Skriv inn nedre grense: 1
Skriv inn øvre grense: 19
15
 
Skriv inn nedre grense: 12
Skriv inn øvre grense: 84
84

Oppgave 9 - Fakultet

Lag en funksjon fakultet som tar inn et heltall og returnerer fakultetet til tallet. Fakultet av et tall n er definert somFor eksempel er 6! = 1*2*3*4*5*6 = 720

Code Block
languagepy
titleEksempel på kjøring
#print(fakultet(6))
720
 
#print(fakultet(4))
24

Oppgave 10 - Den lille multiplikasjonstabellen

Lag en funksjon gangetabell som fyller ut den lille multiplikasjonstabellen (d.v.s. fra 1- til 10-gangen), og returnerer den. 

Code Block
languagepy
titleEksempel på kjøring
for linje in gangetabell():
	print(linje)
 
#output:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
[4, 8, 12, 16, 20, 24, 28, 32, 36, 40]
[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
[6, 12, 18, 24, 30, 36, 42, 48, 54, 60]
[7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
[8, 16, 24, 32, 40, 48, 56, 64, 72, 80]
[9, 18, 27, 36, 45, 54, 63, 72, 81, 90]
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

Oppgave 11 - Funksjonskall i funksjon

a) Lag en funksjon lagVerb som tar inn en liste av fem verb og tilfeldig returnerer ett av verbene. 

Code Block
languagepy
titleEksempel på kjøring
#print(lagVerb(['sover','spiser','snakker','sutrer','stresser']))
stresser

b) Lag en funksjon lagNavn som tar inn en liste bestående av fem navn og tilfeldig returnerer ett av navnene i listen.

Code Block
languagepy
titleEksempel på kjøring
#print(lagNavn(['Amalie','Bob Bernt','Carina','Daniel','Elise']))
Bob Bernt

c) Lag en funksjon lagSetning(liste1, liste2) som benytter seg av a) og b) og returnerer en setning bestående av to ord. Først et navn og deretter et verb. liste1 er en liste bestående av fem navn og liste2 er en liste bestående av fem verb. 

Code Block
languagepy
titleEksempel på kjøring
liste1 = ['Amalie','Bob Bernt','Carina','Daniel','Elise']
liste2 = ['sover','spiser','snakker','sutrer','stresser']
print(lagSetning(liste1, liste2))
 
#output:
Daniel stresser

Oppgave 12 - Lotto

Lag en funksjon, lotto, som genererer 7 tilfeldige tall fra 1 til 34 ([1, 34]) og returnerer disse i en liste.

Code Block
languagepy
titleEksempel på kjøring
>>> lotto()
[11, 7, 30, 22, 11, 8, 8]
>>> 

Oppgave 13 - Sum av tall

a) Lag en funksjon sumAvTall som tar inn et tall n og, returnerer summen av tallene fra 1 til n ved hjelp av en løkke.

Code Block
languagepy
titleEksempel på kjøring
#print(sumAvTall(6))
21
 
#print(sumAvTall(3))
6

b) Hva er den minste n som gjør at funksjonen sumAvTall returnerer en verdi større enn 500? Bruk en while-løkke til å kalle funksjonen sumAvTall med stadig større n-er, og skriv til slutt svaret på spørsmålet til skjerm.

Code Block
languagepy
titleEksempel på kjøring
32 er det minste tallet som gjør at funksjonen sumAvTall returnerer en verdi over 500

Oppgave 14 - Vårt første lille program

  1. Lag en funksjon ’storst_tall’ som tar inn en liste og returnerer det største tallet i listen. Du kan anta at alle tallene i listen er heltall.
  2. Lag en ny py-fil (en PYTHON skriptfil) og kall den ’kontroll.py’. I denne filen skal du:opprette en liste, testliste, som er

    1. Lag en funksjon storst_tall som tar inn en liste og returnerer det største tallet i listen. Du kan anta at alle tallene i listen er heltall.

      1. opprette en liste, testliste, som er 
      1. [0, 3, 1, 9, 8, 3, 8]
      2. kalle funksjonen
      1. storst_tall
  3. ’ med testliste som parameter
      1.  med testliste som argument
      2. lagre verdien som returneres i en
  4. variabel,
      1. variabel storste
      2. skrive
  5. ut
      1. ut storste
  6. til
      1.  til skjermen

’kontroll.py’ skal brukes videre.

2.

    1. Lag en funksjon dobbel_tall’ som  som tar inn et tall og returnerer det dobbelte av tallet

    2. I ’kontroll.py’:
      1. kall funksjonen du nettopp har lagd, dobbel_tall med storste som input, med storste som argument
      2. lagre denne verdien som som dobbel_storste
      3. skriv skriv dobbel_storste ut  ut til skjermen

’kontroll.py’ skal brukes videre. 

3.

    1. 1. Lag en funksjon sirkel_areal’ som  som tar inn et tall (radius) og returnerer arealet av en sirkel på grunnlag av dette. Pi skal bruke en konstant innebygd i python (google er din venn).Ved å bruke math.pi kan du få en eksakt verdi for Pi.

    2. 2. I ’kontroll.py’:
      1. a. kall funksjonen du nettopp har lagd, sirkel_areal’ med , med dobbel_storste som input som argument
      2. b. lagre denne verdien som som areal
      3. c. skriv ut ut areal til  til skjermen

Gratulerer, du har nå laget et ekte program i python!

d) Hva blir arealet til en sirkel hvis vi endrer tabellen i a) til [1 2]?

Oppgave 5 Funksjonskall inne i funksjoner
I forrige oppgave lagde du flere funksjoner som ble kalt i et skript. I denne oppgaven skal du lage to nye funksjoner, men den ene funksjonen skal kalles inne i den andre funksjonen. 

Det første du skal gjøre er å lage en funksjon som beregner kvadratet av et tall. Når du har gjort dette skal du lage en ny funksjon som beregner arealet av en sirkel, men denne gangen skal du benytte deg av kvadrat-funksjonen du nettopp lagde. Til slutt skal du lage et skript oppgave5.py. Skripet skal ta inn ønsket radius fra brukeren. Benytt deg av funksjonene du nettopp lagde for å beregne arealet av sirkelen. Skriv ut verdien på skjermen.

Code Block
languagepy
titleEksempel på kjøring
#1.
#print(storste)
9
 
#2.
#print(dobbel_storste)
18
 
#3.
#print(areal)
1017.8760197630929   #her var radiusen 18

 

 Oppgave 6 Tilfeldig tall
Lag en funksjon som tar inn nedre og øvre grense i et intervall fra brukeren, og returnerer et tilfeldig tall i dette intervallet.