Hver ting i en liste kalles et element. En liste lages ved å skrive elementer inni [], med, mellom elementene:

Like dokumenter
I denne oppgaven skal vi gjøre enkle operasjoner på tekst, som å endre størrelsen på bokstavene og telle ord.

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Repetisjon Novice Videregående Python PDF

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim

I denne oppgaven skal vi gi en enkel innføring til klasser og objekter (ordene forklares senere i teksten).

PGZ - Hangman Ekspert Python Lærerveiledning

Modell, meldinger og oppdatering

"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!

JS: Grunnleggende JavaScript

Steg 0: Installere Pygame Zero

Denne oppgaven viser hvordan vi kan bruke musen til å kontrollere elm-programmene våre.

Steg 1: Rest etter divisjon

Steg 1: Tekst på flere linjer

Steg 1: Piler og knappetrykk

PXT: Micro:bit repeater

Steg 1: Få noe på skjermen

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

Øvingsforelesning 3 Python (TDT4110)

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

Tell sekunder. Introduksjon. Skrevet av: Teodor Heggelund. I denne oppgaven skal vi lage vårt eget spill!

I dag skal vi lage et nyttig spill, nemlig et spill som hjelper oss å lære andre ting. Vi skal få hjelp til å lære gangetabellen!

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

Først må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Steg 1: Regneoperasjoner på en klokke

PXT: Tikkende bombe. Introduksjon. Steg 1: Vi starter spillet. Skrevet av: Kolbjørn Engeland

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang

Legg bort skilpaddene dine, i dag skal vi lære hvordan vi kan sende hemmelige beskjeder!

Mattespill Nybegynner Python PDF

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Steg 1: Endre bakgrunn og finne figurer

JS: Grunnleggende JavaScript Nybegynner

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Steg 1: Felix har forsvunnet!

Øvingsforelesning 1 Python (TDT4110)

Steg 1: Vår første datamaskin

Kryptering med vigenere-metoden

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Denne oppgaven innfører funksjoner, og viser hvordan vi kan skrive og teste funksjoner i Ellie.

Python: Input og output

Input fra brukeren. Hente tekst fra brukeren. Moduler og program. Modell, meldinger og oppdatering. Skriv ut teksten. Introduksjon

Kap 2: Løkker og lister

PXT: Flasketuten peker på

TDT4110 IT Grunnkurs Høst 2014

Steg 1: Lag bildedeklarasjon

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Steg 1: Husker du skilpadden?

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon

Steg 1: Bli kjent med spillet

TDT4110 IT Grunnkurs Høst 2015

Øvingsforelesning i Python (TDT4110)

Hoppehelt. Introduksjon. Steg 1: Streken. Sjekkliste. Skrevet av: Geir Arne Hjelle

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Steg 1: Hvordan fungerer spillet?

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

Steg 1: Katten og fotballbanen

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

Kryptering med Vigenère-metoden

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang. Sjekkliste. Introduksjon

PXT: Det regnar mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes. Oversatt av: Stein Olav Romslo

IN1140 Ekstraoppgaver uke 3

Breakout. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle og Martin Lie

Start et nytt PXT-prosjekt, for eksempel ved å gå til makecode.microbit.org (

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Lærerveiledning - Straffespark

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Lærerveiledning - Snake

IN1000 Obligatorisk innlevering 7

Skilpaddekunst. Introduksjon. Skrevet av: Geir Arne Hjelle

Lærerveiledning - Lunar Lander

Øvingsforelesning i Python (TDT4110)

Steg 1: Lag bakken og få den til følge med

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Vi har sett enkle datamaskiner. Nå skal vi leke oss med roboter, og finne ut hvordan vi kan få dem til å gjøre forskjellige ting for oss.

Håndtere mange verdier

Steg 1: Klargjør og importerer bilioteker

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

7-Segment Display. Introduksjon. Steg 1: Finn frem utstyr. Til denne oppgaven trenger du. Skrevet av: Martin Ertsås & Morten Minde Neergaard

Lærerveiledning - Pong

Seminaroppgaver IN1010, uke 2

Hangman. Level. Introduksjon

Asteroids. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen.

INF109 - Uke 1b

Transkript:

Lister og indekser Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon Denne oppgaven handler om lister, altså å samle flere ting i en og samme variabel. Ettersom lister og løkker henger tett sammen i Python, bør du se på løkker i repetisjonsoppgaven (../repetisjon/repetisjon.html#l%c3%b8kker) dersom du har glemt hvordan løkker fungerer. Hvordan lage lister? Hver ting i en liste kalles et element. En liste lages ved å skrive elementer inni [], med, mellom elementene: = ['egg', 'ham', 'spam'] ['egg', 'ham', 'spam'] Vi har nå ei liste som inneholder ordene 'egg', 'ham' og 'spam'. Vanskeligere er det ikke! Vi kan også lage tomme lister: = [] [] Ei liste kan inneholde alt mulig - tall, strenger og også andre lister: = [ 3, 'komma', [1, 4] ] [3, 'komma', [1, 4]]

Legge til og fjerne elementer Hva om vi ønsker å legge til eller fjerne elementene fra lista vi vår? Da kan vi bruke de to funksjonene lst.append(elm) og lst.remove(elm), der lst er lista og elm er elementet vi ønsker å legge til eller fjerne. lst.append(elm) legger til elm på slutten av lst, slik som illustrert i eksempelet: = [].append('per') ['Per'].append('Ada').append('Kim') ['Per', 'Ada', 'Kim'] lst.remove(elm) sletter det første elementet elm fra lst. Det vil si at dersom elm ligger flere ganger i lst slettes bare det første elementet lik elm : = ['Per', 'Ada', 'Kim', 'Ada'].remove("Ada") ['Per', 'Kim', 'Ada'] Vi skal nå lage et handleliste-program. Programmet skal be brukeren skrive inn matvarer, og deretter skrive ut matvarene når ferdig skrives inn. Programmet skal fungere slik: >>> Skriv inn en gjenstand: ost Skriv inn en gjenstand: melk Skriv inn en gjenstand: brød Skriv inn en gjenstand: ferdig ost melk brød

Lag ei tom liste. Be om input. Så lenge input ikke er lik ferdig, legg til det nye elementet i lista. Hint: Hva slags løkke kan vi bruke her? Skriv ut hvert hvert element i lista. Hint: Hva slags løkke kan vi bruke her? Indekser Tenk deg at vi har ei liste, og ønsker å hente ut det andre elementet i lista. Hvordan skal vi klare det? Da bruker vi noe kalt indeks. Indeks er plassen til elementet og skrives mellom [] rett etter variabelen: lst[index]. Her er et eksempel på en liste med tall: = [1, 2, 3, 4, 5] [1] 2 Du la kanskje merke til at vi skrev 1, men fikk ut det andre elementet i lista? Det er fordi vi begynner å telle fra 0. Dermed har det første elementet i lista indeks 0, og det andre har indeks 1. Datamaskiner begynner å telle på null! Du husker kanskje at det samme skjer når vi bruker range()? >>> list(range(5)) [0, 1, 2, 3, 4] Til nå har vi brukt for element in lst for å gå igjennom elementene i lista, men noen ganger kan det i tillegg være praktisk å telle hvor langt vi er kommet i lista. Til dette kan vi bruke enumerate(), som gir oss både verdien og indeksen:

= ['Per', 'Kim', 'Ada'] >>> for i, value in enumerate(lst): print(i, value) 0 Per 1 Kim 2 Ada I eksempelet over får i verdien av indeksen, og value får verdien av elementet. Det er nesten som ei vanlig for -løkke, men vi får indeksen i tillegg. Modifiser nå programmet fra forrige oppgave til å skrive ut indekser ved siden gjenstandene i handlelista. Slik skal det fungere: >>> Skriv inn en gjenstand: ost Skriv inn en gjenstand: melk Skriv inn en gjenstand: brød Skriv inn en gjenstand: ferdig 0 ost 1 melk 2 brød Bruk programmet fra oppgaven over. Bruk enumerate til for å få indeksen til hver element. Skriv ut indeksen på samme linje som elementet i lista. Indekstrening Vi vil nå la brukeren selv velge hvor mange gjenstander som skal skrives ut. Slik som i eksempelet:

>>> Skriv inn en gjenstand: ost Skriv inn en gjenstand: melk Skriv inn en gjenstand: brød Skriv inn en gjenstand: ferdig Hvor mange gjenstander vil du skrive ut? 2 0 ost 1 melk Begynn med programmet du allerede har. Før gjenstandene skrives ut, spør om hvor mye som skal skrives ut. Avbryt utskriften når antallet er lik det brukeren ba om. Strenger og indekser Vi kan også bruke indekser på strenger. For eksempel: >>> s = "Ada" >>> s[0] 'A' Vi skal nå skrive et program som henter input fra brukeren og skriver ut annenhver bokstav. Det skal fungere som dette: >>> Skriv inn en setning: Hei på deg! H i p e!

Hent input fra brukeren. Bruk en løkke for å hente ut hver bokstav og dens indeks. Hvis indeksen er et partall, skriv ut bokstaven. Hint: tall%2 er resten av tall delt på 2, hva gir tall%2 når tall er et partall? Lisens: CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0/deed)