...
- Hvordan er syntaksen til en for-løkke?
- Når bruker man helst for-løkker? Er det når antall iterasjoner (runder i for-løkken) er kjent, eller når antallet er ukjent?
- Skriv om en følgende for-løkke til en while-løkke:
Code Block | ||
---|---|---|
| ||
for i in range (0,6): print (i) |
Oppgave
...
2 - For-løkke
Lag en for-løkke som skriver ut til skjermen ”Bolton Wanderers!” til skjermen 20 ganger.
Oppgave
...
3 - While-løkke
Lage Lag en while-løkke som genererer ber brukeren om et tilfeldig tall mellom 0 og 10. Tallet som genereres skrives ut til skjermen, og , og dette tallet skal skrives ut til skjerm. while-løkken skal stoppe hvis det tilfeldige tallet blir 7, og ellers skal det fortsette å spørre brukeren om et nytt tall.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Skriv inn et tall: 4
4
Skriv inn et tall: 5
5
Skriv inn et tall: 6
6
Skriv inn et tall: 7
7 |
Oppgave 4 - Bruk av for-løkker i lister
Lag en for-løkke som går igjennom en liste, og som gjør om alle negative tall til 0 og alle positive tall (inkl. 0) til 1.
Code Block language py title Eksempel på kjøring: liste = [-4,5,3,9,3,-3,-8,8] #Liste før for-løkken #for-løkke print(liste) #Output blir: # [0, 1, 1, 1, 1, 0, 0, 1] #Liste etter for-løkken
Lag en for-løkke som summerer alle tallene i en liste.
Code Block language py title
...
Eksempel på kjøring: liste = [-4,5,3,9,3,-3,-8,8] summ = 0 #for-løkke print(summ) #Output blir: # 13
Oppgave 5 - Passord
I en uendelig løkke, be brukeren om å skrive inn et passord, og deretter om å skrive inn det samme passordet igjen. Gi så brukeren beskjed om at enten:
- Passordet ble gjentatt riktig, eller
- Passordene har ulik lengde, eller
- Det andre passordet kommer alfabetisk før det første, eller
- Det andre passordet kommer alfabetisk etter det første.
(Bruker får bare beskjed om ett av tilfellene.)
Hopp deretter tilbake til starten av løkken.
...
Code Block | ||
---|---|---|
| ||
Skriv inn ditt passord: Bob Bernt
Skriv inn ditt passord på nytt: Bob Bernt
Passordene er like.
Skriv inn ditt passord: Bob Bernt
Skriv inn ditt passord på nytt: bobbob
Passordene har ulik lengde!
Skriv inn ditt passord: Bob Bernt
Skriv inn ditt passord på nytt: Bernt Bob
Passord 2 kommer før passord 1 i alfabetet
Skriv inn ditt passord: --
Skriv inn ditt passord på nytt: ..
Passord 1 kommer før passord 2 i alfabetet |
Oppgave 6 - Produkt
Lag en løkke som trekker to tilfeldige tall mellom 1 og f.o.m. 1 t.o.m. 10, multipliserer dem, og skriver ut regnestykket til skjermen. Løkken skal fortsette så lenge produktet er mindre enn 70.
...
Code Block | ||
---|---|---|
| ||
7 * 2 = 14
1 * 2 = 2
1 * 8 = 8
8 * 5 = 40
10 * 7 = 70 |
Oppgave 7 - Speedometer
- Bob Bernt har importert bilen sin fra USA, og strever fælt med å følge de norske fartsgrensene. For å hjelpe seg skal kona sitte i passasjersetet med en laptop i fanget og regne om fra kilometer i timen til miles per hour. Skriv en funksjon som tar inn km/t som parameter og returnerer farten i mph (mph = km/t / 1.6).
- Kona har ikke alltid tid til å være med Bob Bernt på biltur. Skriv ut en oversikt over hver 10. km/t, fra 10 til 110, og hva de tilsvarer i mph. Det vil si:
10 km/t = 6.25 mph
20 km/t = 13 12.5 mph.
Osv…
Gjør dette ved hjelp av en for-løkke.
Code Block | ||
---|---|---|
| ||
10 km/t = 6.25 mph
20 km/t = 12.5 mph
30 km/t = 18.75 mph
40 km/t = 25.0 mph
50 km/t = 31.25 mph
60 km/t = 37.5 mph
70 km/t = 43.75 mph
80 km/t = 50.0 mph
90 km/t = 56.25 mph
100 km/t = 62.5 mph
110 km/t = 68.75 mph |
Oppgave 8
Oppgave 3- Doble for-løkker
Opprett den 2-dimensjonale matrisen (tabellen) vist under. Hint: en liste som inneholder lister.
Code Block 1 3 -3 5 23 23 1 34 13 32 33 67 64 5 -9 46 -6 6 64 8 2 3 19 12 -4
Gå gjennom hele denne matrisen, og gjør om alle negative tall til positive tall.
Code Block title Tabellen over med negative tall gjort om til positive tall (Utskrift vil se annerledes ut) - Finn det høyeste tallet i matrisen.
1 3 3 5 23 23 1 34 13 32 33 67 64 5 9 46 6 6 64 8 2 3 19 12 4
- Finn det største tallet i matrisen. Svaret skal bli 67.
Oppgave 9 - Badekaret
Tenk deg at du har et badekar som skal fylles med vann. Dette er et veldig lite badekar, så det tar bare 20 liter. Tenk deg så at du skal lage et program som kontrollerer vannkrana som fyller opp badekaret. Det programmet skal gjøre er å sjekke om badekaret er fullt (dvs. 20 liter), hvis ikke skal det fylle på en liter til med vann. Programmet skal skrive ut antall liter i badekaret ettersom det fylles opp, og ”Badekaret er fullt” når vannkrana må lukkes. Realiser dette ved hjelp av en whileløkkewhile-løkke. Det er 5 liter vann i badekaret når programmet startes.
Oppgave 7 - Sjakkbrett
Et sjakkbrett har 8 x 8 ruter. La oss si at rute (1,1), er nederst til venstre, og er svart.
- Skriv en funksjon som finner ut om sjakkrute (X,Y) er svart eller hvit, og returnerer svaret.
- Ved hjelp av denne funksjonen og nøstede løkker, skriv til skjermen fargen på hver rute på sjakkbrettet. Det vil si:
Rute 1,1 er svart
Rute 2,1 er hvit
Rute 3,1 er svart
Osv..
...
Code Block | ||
---|---|---|
| ||
Badekaret har 5 liter vann.
Badekaret har 6 liter vann.
Badekaret har 7 liter vann.
Badekaret har 8 liter vann.
Badekaret har 9 liter vann.
Badekaret har 10 liter vann.
Badekaret har 11 liter vann.
Badekaret har 12 liter vann.
Badekaret har 13 liter vann.
Badekaret har 14 liter vann.
Badekaret har 15 liter vann.
Badekaret har 16 liter vann.
Badekaret har 17 liter vann.
Badekaret har 18 liter vann.
Badekaret har 19 liter vann.
Badekaret er fullt. |
Oppgave 10 - Sum av gangetabellen
Bruk nøstede løkker til å summere alle produktene i gangetabellen (opp til 10x10), og skriv ut svaret til skjerm.
Oppgave 9 - Sum av tall
- Lag en funksjon
sumAvTall
som tar inn et tall n og, returnerer summen av tallene fra1
tiln
ved hjelp av en løkke. - Hva er den minste
n
som gjør at funksjonensumAvTall
returnerer en verdi større enn 500? Bruk en while-løkke til å kalle funksjonensumAvTall
med stadig størren
-er, og skriv til slutt svaret på spørsmålet til skjerm.
Svaret skal bli 3025.
Oppgave 11
...
- Stigende sekvenser
Lag et program som bruker en nøstet for-løkke til å skrive ut det følgende:1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10
Tips: Hvis du ønsker å skrive ut noe i python uten å samtidig starte på ny linje, kan du skrive import sys
og bruke sys.stdout.write()
i stedet for print()
. skrive print(...,end=' ')
, der ...
er det som skal skrives ut til skjerm.
Oppgave 12 - Sjakkbrett
Et sjakkbrett har 8 x 8 ruter. La oss si at rute (1,1) er nederst til venstre og er svart.
- Skriv en funksjon som finner ut om sjakkrute (x,y) er svart eller hvit, og returnerer svaret. (x og y er heltall f.o.m. 1 t.o.m. 8.)
- Ved hjelp av denne funksjonen og nøstede løkker, skriv til skjermen fargen på hver rute på sjakkbrettet. Det vil si:
Rute 1,1 er svart
Rute 1,2 er hvit
Rute 1,3 er svart
Osv.