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.

Logg inn

Valgte tags:

Filtrering:

Skriv ut:

Løkker 2: for-løkker med range

I disse oppgavene skal du bruke for-løkker sammen med range.

a) Skriv ut en beskjed (som "Hei!") til brukeren fem ganger.

b) Ta inn fem ord fra brukeren og legg dem i ei liste. Skriv ut lista når løkka er ferdig.

c) Ta inn fem nye ord fra brukeren. Gang hvert ord med tallvariabelen til range(), og legg så hvert ord inn i ei liste. Skriv ut lista når løkka er ferdig.

d) Bruk range til å gå gjennom lista med ord under. Du må altså tenke over hvordan du kan bruke tallene fra range() til å få tak i elementene i lista.

liste1 = ['glass', 'betong', 'sand', 'murstein', 'sement']

e) Bruk range() til å regne ut summen av alle heltall fra og med 0 til og med 100.

f) Bruk range() til å regne ut summen av alle partall fra og med 0 til og med 100.

g) Bruk range() til å regne ut summen av alle oddetall fra og med 1 til og med 101.

h) En liten utfordring! Bruk range() sammen med lista under til å gjøre følgende: For hver streng i lista under skal du sette ordet sammen med ordet etter, og legge det i ei ny liste. Den siste strengen skal kun med som siste elementet i sammensetningen med ordet foran, den skal ikke med alene.

liste2 = ['kanel', 'kardemomme', 'nellik', 'safran', 'pepper', 'vanilje', 'muskat']
Vis løsningsforslag

Løsningsforslag

a)

for i in range(5):
    print("Hei!")

Utskrift

Hei!
Hei!
Hei!
Hei!
Hei!

b)

ny_liste = []
for i in range(5):
    svar = input("Skriv et ord.\n")
    ny_liste.append(svar)

print(ny_liste)

Utskrift:

>>>Skriv et ord.
sur
>>>Skriv et ord.
søt
>>>Skriv et ord.
bitter
>>>Skriv et ord.
salt
>>>Skriv et ord.
sterk
['sur', 'søt', 'bitter', 'salt', 'sterk']

c)

ny_liste2 = []
for i in range(5):
    svar = input("Skriv et ord.\n")
    ny_liste2.append(svar*i)

print(ny_liste2)

Utskrift:

>>>Skriv et ord.
hvem
>>>Skriv et ord.
hva
>>>Skriv et ord.
hvor
>>>Skriv et ord.
hvordan
>>>Skriv et ord.
hvorfor
['', 'hva', 'hvorhvor', 'hvordanhvordanhvordan', 'hvorforhvorforhvorforhvorfor']

Tenk over hvorfor det første elementet er en tom streng.

d)

liste1 = ['glass', 'betong', 'sand', 'murstein', 'sement']

for i in range(len(liste1)):
    print(liste1[i])

Utskrift:

Oppgave e, f og g henger sammen med utregning av summer. I mer formell notasjon ser vi dette som sigma-notasjon, som dere kommer til å komme borti seinere i faget.

e)

sum_heltall = 0
for i in range(101):
    sum_heltall += i
print(sum_heltall)

Utskrift:

5050

f)

sum_partall = 0
for i in range(0,101,2):
    sum_partall += i
print(sum_partall)

Utskrift:

2550

g)

sum_oddetall = 0
for i in range(1,102,2):
    sum_oddetall += i
print(sum_oddetall)

Utskrift:

2601

h)
Et av poengene med denne oppgaven er at man må huske å ha med -1 i indeksen så man ikke prøver å få tak i elementet etter det siste elementet, siden man da går utenfor lista.

liste2 = ['kanel', 'kardemomme', 'nellik', 'safran', 'pepper', 'vanilje', 'muskat']

sammensatte_ord = []
for i in range(len(liste2) - 1):
    sammensatt = liste2[i] + liste2[i + 1]
    sammensatte_ord.append(sammensatt)
print(sammensatte_ord)

Utskrift:

['kanelkardemomme', 'kardemommenellik', 'nelliksafran', 'safranpepper', 'peppervanilje', 'vaniljemuskat']

Det finnes en funksjon som gjør det vi gjør i e) og h) litt enklere, altså å ha tilgang til indeksene og elementene i ei liste samtidig. Den heter enumerate(), men vi behandler den ikke her.