Python: Lister og tupler Gaddis: Kapittel 7
|
|
|
- Edvard Holm
- 8 år siden
- Visninger:
Transkript
1 Python: Lister og tupler Gaddis: Kapittel 7 TDT4110 IT Grunnkurs Professor Guttorm Sindre
2 Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur: input() Tekst til skjerm: print() m.m. Variable, enkle datatyper: Heltall, flyttall, strenger, sannhetsverdier Lagre data permanent (og hente) Tekstfiler Binærfiler Andre former for input Andre former for output sammensatte datatyper: Lister, tupler, mengder, dictionary, objekter / klasser Prosessere data Styre hvorvidt og hvor ofte programsetninger utføres Valg Repetisjoner Operatorer =, += +, -, * >, ==, Kontrollstruktur standard sekvens if-setning løkker (while, for) Innebygde funksjoner og metoder Kontrollstruktur Unntaksbehandling Rekursjon Gjøre programmet forståelig Bryte ned problemet i deler Oppnå fleksibilitet og gjenbrukbarhet Kommentarer Funksjoner Moduler Objektorientert design Klasser og arv Forstå hva vi har gjort feil Feilmeldinger Debugging 2
3 Læringsmål og pensum Mål Denne og senere uker: Vite om sammensatte datatyper i Python og velge riktig type ut fra problemet Denne uka: Kunne løse programmeringsproblemer med Lister og tupler Mestre noen spesifikke Python-mekanismer for lister Slicing, kopiering Operatoren in Vanlige innebygde liste-metoder og funksjoner Pensum Starting out with Python, Chapter 7: Lists and Tuples
4 Tidligere lært Enkle datatyper: heltall, flyttall, strenger, lister Hver variabel inneholder én verdi i = 5 navn = Nina medlem = True score = 2.77 Datamaskiner skal behandle store mengder data Kommer ikke langt med bare enkle datatyper Tusen tall lage tusen variable tall1, tall2,., tall1000 Vanskelig å gå gjennom dette i løkke Derfor: sammensatte datatyper Hver variabel kan inneholde flere verdier I vårt pensum: lister, tupler, mengder, dictionary
5 Sammensatte datatyper Hva bruke når? Er rekkefølgen på elementer viktig? JA: liste eller tuppel. eller NEI: mengde eller dictionary Kan dupliserte elementer forekomme? JA: liste eller tuppel NEI: mengde eller dictionary Trengs raske oppslag på verdi? Regulær tallserie: Range-objekt Sekvens av enkelttegn: Streng NEI: liste eller tuppel (oppslag ikke viktig, eller kun oppslag på indeks) JA: mengde eller dictionary Mengde: kun verdien - Dictionary: verdien er nøkkel til andre data Må data kunne endres in place? JA: liste, mengde, eller dictionary (de er muterbare - mutable ) NEI: tuppel (er ikke muterbar - immutable, à la strenger)
6 Hva bruke når? i dag Er rekkefølgen på elementer viktig? JA: liste eller tuppel NEI: mengde eller dictionary Kan dupliserte elementer forekomme? JA: liste eller tuppel NEI: mengde eller dictionary Trengs raske oppslag på verdi? JA: mengde eller dictionary Mengde: kun verdien - Dictionary: verdien som nøkkel NEI: liste eller tuppel (oppslag ikke viktig, eller kun på indeks) Vil vi endre data in place? JA: liste, (er muterbare - mutable ) NEI: tuppel ( er immutable, a la strenger)
7 Sekvenser Kapittel 7.1
8 Sekvenser Sekvens: objekt med flere dataverdier i rekkefølge Python har flere sekvenstyper. Pensum: Ikke-muterbare (immutable): Strenger Range-objekter Tupler: Primært brukt for samlinger av heterogene data, f.eks. pos = (x, y, z) # koordinater til en gjenstand i 3D land_info = ( Norge, 47, 5.2, NOK, True) Muterbare (mutable) Lister: Primært brukt for samlinger av homogene data, f.eks. temp_siste_uke = [7.5, 8.9, 5.6, 10.1, 9.2, 5.5, 6.0] terningkast = [1, 4, 3, 6, 2, 2, 2, 3, 6, 5] 8
9 Introduksjon til lister Kapittel 7.2
10 Opprette lister Opprette liste i Python kan gjøres ved å ramse opp elementene: dager = [ Mandag, Tirsdag, Onsdag, Torsdag, Fredag, Lørdag, Søndag ] lage en tom liste (sette inn elementer senere) kundeliste = [ ] kundeliste.append( Petter ) bruke * som repetisjonsoperator salg_pr_mnd = [0] * 12 # lager lista [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] bruke funksjonen list( ) på et itererbart objekt som f.eks range() oddetall = list(range(1, 10, 2)) # lager lista [1,3,5,7,9] skrive en list comprehension kvadrattall = [x * x for x in range(1,100)] # lager lista [1, 4, 9, 16,, 9801, 10000] 10
11 Prosessering av lister Kan bruke / endre enkeltelementer ved indeksering Første indeks er 0 Siste indeks er [n-1], der n er antall element i lista dager = [ Mandag, Tirsdag, Onsdag, Torsdag, Fredag, Lørdag, Søndag ] Hente element, f.eks. idag = dager[1] # gir Tirsdag Endre element, f.eks. dager[5] = Laurdag # mulig fordi liste er muterbar Kan også operere på hele lister, f.eks. print(dager) # skriver ut hele lista len(dager) # returnerer antall elementer i lista (her 7) ny_liste = dager + [0, 0, 0, 0] # gir [ Mandag, Tirsdag, Onsdag, Torsdag, Fredag, Lørdag, Søndag, 0, 0, 0, 0] # bruker + som konkateneringsoperator dager.sort( ) # sorterer elementer stigende (her alfabetisk) 11
12 For-løkker gjennom lister To ulike måter Aksessere verdiene direkte Aksessere via indeks Viktig å skjønne forskjellen! Første eksempel: gjør samme på to ulike måter liste = [ Per, Nina, Jo, Lucinda, Geir ] for navn in liste: print(navn) # navn blir Per, så Nina, så Jo, Andre eksempel: to ulike behov: L = [5.32, 0.0, 5.67, 6.08, 0.0, 6.01] lengste = L[0] for x in L: # x blir 5.32, 0.0, 5.67, if x > lengste: lengste = x print( Lengste hopp:, lengste) Problemet krever bare verdiene. liste = [ Per, Nina, Jo, Lucinda, Geir ] for i in range(len(liste)): print(liste[i]) # i blir 0, 1, 2, 3, 4 # dermed blir liste[i] Per, Nina, Jo, L = [5.32, 0.0, 5.67, 6.08, 0.0, 6.01] nr = 0 # indeks for lengste hopp for i in range(len(l)): # range(6): i blir 0, 1, 2, 3, 4, 5 if L[i] > L[nr]: nr = i print( Lengste hopp:, L[nr]) print( kom i forsøk nr, nr + 1) Problemet krever også posisjon i lista 12
13 Oppgave: Hovedstadsquiz LETTERE: Start med koden quiz_lett_v0.py Fullfør funksjonen still_spm() som går gjennom lista land i rekkefølge og spør hva som er hovedstad i hvert land. Du trenger ikke sjekke om brukeren svarer riktig. Returner antall spørsmål som ble stilt. MIDDELS: Start med koden quiz_mid_v0.py Fullfør funksjonen still_spm() som går gjennom lista land i rekkefølge og spør hva som er hovedstad i hvert land. Sjekk mot lista fasit og si om brukeren svarer rett eller ikke, la funksjonen returnere antall rette. VANSKELIGERE: (a) Start med koden quiz_van_v0.py Fullfør funksjonen still_spm() som spør i tilfeldig rekkefølge med random.choice( ) inntil det ikke er flere land å spørre om. Returner to lister: land hvor svaret var riktig og land hvor svaret var galt. Løsninger ligger på tilsvarende filer med navn _v1.py 13
14 Slicing (skiving) av lister Kapittel 7.3
15 Å skive/slice lister Slice: et spenn av enheter som er tatt fra en sekvens Slicing syntaks: liste[start : slutt : inkrement] kopi av elementer fra opprinnelig liste fra og med start, til (men ikke med) slutt Hvis start ikke er spesifisert, brukes 0 som start Hvis slutt ikke spesifiseres brukes len(liste) som slutt Hvis inkrement ikke spesifisert brukes +1 negative indekser er relative til listens slutt liste = [1,2,3,4,5,6] x = liste[0:2] # gir x = [1,2] x = liste[3:-1] # gir x = [4,5] x = liste[1:6:2] # gir x = [2,4,6] 15
16 Endring av lister ved hjelp av slice Kan også bruke slice-uttrykk til å endre innhold: A = [1,2,3,4,5,6] # Lager ei liste A med 6 element A[:2] = [0,0] # Endrer to første, gir A=[0,0,3,4,5,6] A[-2:] = [9,9] # Endrer to siste, gir A=[0,0,3,4,9,9] A[0::2] = [5,5,5] # Endrer annet hvert, gir A=[5,0,5,4,5,9] A[-3:]=[ ] # Bytter tre siste m. tom liste. Gir A=[5,0,5] A[3:]=[4,5,6] # Hekter på [4,5,6] etter siste. Gir A=[5,0,5,4,5,6] A[3:3]=[1,1,1] # Setter inn 1-ere v indeks 3. Gir A=[5,0,5,1,1,1,4,5,6] Innsetting på slutten, kan også bruke extend( ) A.extend([9,17]) # Gir A=[5,0,5,1,1,1,4,5,6,9,17] NB: Understreking _ i eksemplene kommer ikke i lista, er bare for å vise hvilke endringer som skjedde 16
17 Teste om et element fins i lista Kapittel 7.4
18 in-operatoren Eksistens av element i liste kan testes med løkke: funnet = False i = 0 while (not funnet) and (i < len(liste)): if liste[i] == det_vi_leter_etter: funnet = True i+=1 Enklere: in-operatoren if item in list: Vårt eksempel: if det_vi_leter_etter in liste: funnet = True True hvis den er i listen, ellers False Men kan trenge løkke hvis vi skal gjøre noe mer F.eks. vite posisjon til elementet, telle antall treff, fjerne duplikatelementer, eller lignende 18
19 Metoder og funksjoner for lister Kapittel 7.5
20 Flere nyttige listeoperasjoner Metoder: liste.metodenavn(), Funksjoner: funknavn(liste), Operator append(item) - innsetting til slutt extend(liste) utvidelse til slutt insert(index, item) - inn v index index(verdi) Indeks for 1. forekomst av verdien sort() sorterer i stigende rkflg reverse() snur lista remove(verdi) Fjerner 1. forekomst av verdien len() lengde av lista max(), min() - størst, minst Hvis tekst: alfabetisk reversed() returnerer liste i omvendt rekkefølge del liste[i] Fjerner element m indeks i A=[1,2,3] A.append(5) eller A.extend([5]) # Gir A=[1,2,3,5] A.insert(2,9) # Gir A=[1,2,9,3,5] n = A.index(9) # Gir n = 3 # gir feilmelding hvis ikke funnet A.sort( ) # gir A=[1,2,3,5,9] A.reverse( ) # gir A=[9,5,3,2,1] A.remove(2) # gir A=[9,5,3,1] T = len(a) # gir T = 4 m = max(a) # gir m = 9 B = reversed(a) # gir B = [1,3,5,9] # men A er uendret del A[2] # gir A=[9,5,1]
21 Kopiering av lister Kapittel 7.6
22 Å kopiere lister Hvis man skriver list1 = list2, refererer begge variable til samme liste Gjør vi deretter list2[1] = 9, vil også list1 være endret Hvis man ønsker en uavhengig kopi av ei liste, må man gjøre noe annet nedenfor er tre ulike alternativer list1 = [1,2,3,4] list2 = list1[:] # list2 = list(list1) # list2 = [] + list1 # slice som er hele list1, eller 22
23 To-dimensjonale lister Kapittel 7.8
24 To-dimensjonale lister To-dimensjonale tabeller brukes i mange sammenhenger I Python realiseres 2D-tabeller som lister av lister Ytterste liste: hvert element er en hel rad Innerste liste (kolonnene): hvert element er en verdi For å prosessere 2D lister trenger man 2 indekser Typisk brukes nøstede løkker til å prosessere dem 24
25 2D lister : liste av lister (kunne også brukt liste av tupler) data = ([ ['land', 'hovedstaden', 'arealet'], ['Norge', 'Oslo', ], ['Sverige', 'Stockholm', ]]) Rad 0 Rad 1 Rad 2 Kolonne 0 Kolonne 1 Kolonne 2 land hovedstaden arealet Norge Oslo Sverige Stockholm print(data[1][0]) fasit = data[2][1] data[0][0] = Land # Skriver ut Norge # fasit blir Stockholm # Endrer land til Land
26 Lage lister av vilkårlig størrelse Fremgangsmåte 1: Først lage tom liste, legge til elementer etter hvert Fremgangsmåte 2: Masse-opprette elementer med gitt verdi Bruke list comprehensions Eks.: Lage en 2-dimensjonal 10x10 matrise med 0 er: tabell_10x10 = [[0 for col in range(10)] for row in range(10)] Eks.: Lage en 3-dimensjonal 3x3x3 matrise med 1 ere: tabell_3d = [[[1 for x in range(3)] for y in range(3)] for z in range(3)] 26
27 Tupler Kapittel 7.9
28 Tupler Tuppel: en ikke-muterbar sekvens (kan ikke endres) Likner ellers på lister Når den er opprettet kan innholdet ikke endres Format: tuple_name = (item1, item2, ) Tupler støtter operasjoner slik som lister gjør det Elementer kan hentes med indekser Har metoder som index Innebygde funksjoner som len, min, max Har slicing-uttrykk Har operatorene in, + og * Kodeeksempel: tone_tuppel.py 28
29 Tupler (forts.) Tupler støtter ikke endringsmetoder: append, remove, insert, reverse, sort Ulempe: mindre fleksible Men noen Python-operasjoner krever tupler Fordel: Programmet kjører raskere Tryggere for data som ikke skal endres (f.eks. ukedager, måneder) Funksjonene list() og tuple(): konverterer mellom de to tuppel = (1,2,3) print(tuppel[0]) # skriver 1 liste = list(tuppel) # gir liste = [1,2,3] tuppel2 = tuple(liste) # gir tuppel2 = (1,2,3) 29
30 Oppsummering Dette kapitlet dekket: Lister Repetisjons- og konkateneringsoperatorer Indeksering Teknikker for å prossesere lister (gå igjennom lister) Å slice (plukke ut deler) og kopiere lister Listemetoder og innebygde funksjoner for lister To-dimensjonale lister Tupler Ikke muterbar (kan ikke endres) Forskjeller fra lister, fordeler og ulemper
TDT4110 Informasjonsteknologi grunnkurs: Tema: Lister og tupler. - 3rd edition: Kapittel 7. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Lister og tupler - 3rd edition: Kapittel 7 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om Sekvenser Lister List Slicing Finne elementer i lister
TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger Utgave 3: Kap. 8
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger Utgave 3: Kap. 8 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære om Slicing av lister 2-dimensjonale
Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:
TDT4110 Informasjonsteknologi grunnkurs: Tema: Lister og tupler Kap 5: Egne moduler + et større eksempel Kap. 7
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Lister og tupler Kap 5: Egne moduler + et større eksempel Kap. 7 Terje Rydland - IDI/NTNU 2 Litt vi ikke rakk forrige gang
Mål. Pensum. I større, kompliserte programmer er det viktig å organisere koden godt Modularisering: å gruppere relaterte funksjoner i moduler
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Lister og tupler Kap 5: Egne moduler + et større eksempel Kap 7 Terje Rydland - IDI/NTNU 2 Litt vi ikke rakk forrige gang Mål
Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Referansegruppe MTTK: [email protected] MTMT: [email protected] MTDESIGN [email protected] MTKOM: [email protected] MLREAL:
Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Intro til funksjoner TDT4110 IT Grunnkurs Professor Guttorm Sindre Snart referansegruppemøte Viktig mulighet for å gi tilbakemelding på emnet Pensumbøker Forelesninger Øvingsforelesninger Veiledning
Python: Strenger 3. utgave: Kapittel 8
Python: Strenger 3. utgave: Kapittel 8 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå Hva strenger er Grunnleggende operasjoner på strenger Indeksering av tegn i strenger,
MENGDER (SETS) Læringsmål og pensum. Kapittel 9.2
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Dictionaries og mengder (sets) - Kapittel 9 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å forstå og kunne bruke sets Lære å forstå og kunne
TDT4110 Informasjonsteknologi grunnkurs: Tema: Dictionaries og mengder (sets) - Kapittel 9. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Dictionaries og mengder (sets) - Kapittel 9 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å forstå og kunne bruke sets Lære å forstå og kunne
TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger. - 3rd edition: Kapittel 8. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Mer om strenger - 3rd edition: Kapittel 8 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om Pensum Grunnleggende operasjoner på strenger Å skive/slice
Python: Variable og beregninger, innlesing fra tastatur utskrift til skjerm. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Variable og beregninger, innlesing fra tastatur utskrift til skjerm TDT4110 IT Grunnkurs Professor Guttorm Sindre Python, pensum og ikke Vi trenger å Støttes av Hente data fra bruker Vise data
Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å bruke unntak (Exceptions)
Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Dictionaries og sets (mengder) Utgave 3: Kap. 9. Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Dictionaries og sets (mengder) Utgave 3: Kap. 9 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å forstå og kunne
Repetisjon, del 2. TDT 4110 IT Grunnkurs Professor Guttorm Sindre
Repetisjon, del 2 TDT 4110 IT Grunnkurs Professor Guttorm Sindre Premieutdeling Kahoot Vinnere av enkeltrunder: Datamaskinens historie: mr.oyster (7311) Variable, aritmetiske op., etc.: Sha-ra (6155) if-setn.,
TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon Professor Alf Inge Wang 2 Aktuelle tema i Python Todimensjonale lister og generering av lister Dictionaries Filbehanlding (tekstfiler og binærfiler)
Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå hvorfor vi trenger løkker i programmering Ha kjennskap to ulike typer løkker (while-løkke, for-løkke) Og vite
Oppsummering fra sist
1 av 34 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Terje Rydland - IDI/NTNU 2 av 34 Oppsummering fra sist Betingelser i Python: ,
Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære om begrepet løkker
Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer
Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå, og kunne bruke, algoritmer
Kap 2: Løkker og lister
Kap 2: Løkker og lister Ole Christian Lingjærde, Inst for Informatikk, UiO 26-30 August, 2019 (Del 2 av 2) Forrige forelesning på en foil Formatert utskrift: %-operator og f-strings To typer løkker: while-løkker
Repetisjon, del 1. TDT 4110 IT Grunnkurs Professor Guttorm Sindre
Repetisjon, del 1 TDT 4110 IT Grunnkurs Professor Guttorm Sindre Resultat av Kahoot! Følgende temaer hadde størst behov på en skala fra 1 lite behov til 3 stort behov: Binærfiler 2,5 Rekursjon 2,3 2D-lister
Øvingsforelesning 7 i Python (TDT4110)
Øvingsforelesning 7 i Python (TDT4110) Lister, Strenger, Funksjoner Vegard Hellem Oversikt Praktisk Info Gjennomgang av Øving 5 Programmering til Øving 7 2 Praktisk info Kollokviegrupper Snakk med studassen
TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke
TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker - 3rd edition: Kapittel 4 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av
Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Variable og beregninger, input og utskrift TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål for denne uka: Vite litt om design av programmer (2.1, 2.2, 2.4) Kunne skrive ut
Python: Oppslagslister (dictionaries) og mengder 3. utgave: Kapittel 9
Python: Oppslagslister (dictionaries) og mengder 3. utgave: Kapittel 9 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå prinsippene for, og kunne bruke i praksis Mengder (sets)
Læringsmål og pensum. Intro løkker. Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av for-løkke Pensum. Kapittel 4.
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker - 3rd edition: Kapittel 4 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av
Opphavsrett: Forfatter og Stiftelsen TISIP
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innstallasjon og komme i gang med python Claus Schive Lærestoffet er utviklet for faget IFUD1050 Programmering med Python Hvilket programmeringsspråk
Læringsmål og pensum. Algoritmeeffektivitet
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å forstå og kunne programmere algoritmer for søk og sortering. Lære å forstå
Pensum: Starting out with Python
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon Matriser (2D-lister) try except rekursjon skrive pent til skjerm Terje Rydland - IDI/NTNU 2 Læringsmål og pensum
TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å forstå og kunne programmere algoritmer for søk og sortering. Lære å forstå
Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Dictionaries og sets (mengder) Utgave 3: Kap. 9. Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Dictionaries og sets (mengder) Utgave 3: Kap. 9 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Forstå prinsippene for,
Læringsmål og pensum. if (be): else (not_to_be):
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og
AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1
AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1 Ole Kristian Pedersen, Høst 2016 Agenda Introduksjon til Python for begynnere Intro til øving 1 Litt om lenkede lister Øvingssystemet
Dictionary er et objekt som lagrer en samling av data. Minner litt om lister men har klare forskjeller:
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis Terje Rydland - IDI/NTNU 2 Datastruktur: Dictionaries Kap 9.1 Dictionary er et objekt som lagrer en samling
Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Fram mot eksamen Tirsdag 21/11 Repetisjon. Send inn behov/ønsker til : [email protected]
Lage større programmer (Python, relatert til teoridelen om Software Engineering ) TDT 4110 IT Grunnkurs Professor Guttorm Sindre
Lage større programmer (Python, relatert til teoridelen om Software Engineering ) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Kunne
TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et
Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Valg og betingelser TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Kunne forstå og bruke if-setninger sammenlikning av strenger nøstede beslutningsstrukturer betingelser
Oppgavesett for Python
Oppgavesett for Python Petter Mæhlum Januar 2019 1 List comprehension Dette er ment som en rask innføring i list comprehension, med tilhørende oppgaver. List comprehension er en spesiell type syntaks i
Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre
Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Pythonboka kap. 1-9, 12 Teorikapitlet
Dictionary er et objekt som lagrer en samling av data. Minner litt om lister men har klare forskjeller:
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Algoritmer i praksis Terje Rydland - IDI/NTNU 2 Datastruktur: Dictionaries Kap 9.1 Dictionary er et objekt som lagrer en samling
TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum
Læringsmål og pensum. Oversikt
1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 39 Betingede løkker og vektorisering Læringsmål Skal kunne forstå og programmere betingede løkker med while Skal kunne utnytte plassallokering
if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum
Løse reelle problemer
Løse reelle problemer Litt mer om løkker, prosedyrer, funksjoner, tekst og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve 1 Tilbakeblikk Dere bør nå beherske det sentrale fra uke 1 og 2: Uttrykk, typer,
Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære bruk av inn- og ut-operasjoner
Håndtere mange verdier
Håndtere mange verdier Lister, mengder og ordbøker. Samt et lite frempek om objekter og tjenester. IN1000, uke3 Geir Kjetil Sandve Hva vi har lært så langt Variabler Hvordan uttrykk evaluerer til verdier
TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner. - 3rd edition: Kapittel Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner - 3rd edition: Kapittel 5.1-5.6 Professor Alf Inge Wang 2 YouTube-kanal ITGK Professor Guttorm Sindre (foreleser den andre Python-parallellen
Læringsmål og pensum. Inn- og utoperasjoner 21/10/16
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære bruk av inn- og utoperasjoner i Python
TDT4110 IT Grunnkurs Høst 2015
TDT4110 IT Grunnkurs Høst 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforlag Auditorieøving 1 1 Teori Løsning er skrevet med uthevet tekst
TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 3 Sette
Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.
1 TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 3 Sette
MAT1030 Plenumsregning 1
MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte
Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene
Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk
YouTube-kanal ITGK. Læringsmål og pensum
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner - 3rd edition: Kapittel 5.1-5.6 Professor Alf Inge Wang 2 YouTube-kanal ITGK Professor Guttorm Sindre (foreleser den andre Python-parallellen
MAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk
TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter
1 TDT4110 Informasjonsteknologi grunnkurs: Eksempler Kunnskap for en bedre verden Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget vest (Gløshaugen) Epost: [email protected] Tlf: 735 91845 TDT4105
Python: Strenger. (Pluss mer om lister og tupler) TDT4110 IT Grunnkurs Professor Guttorm Sindre. 3. utgave: Kapittel 8 (og 7)
Python: Strenger (Pluss mer om lister og tupler) 3. utgave: Kapittel 8 (og 7) TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå Hva strenger er Grunnleggende operasjoner på
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler
Øvingsforelesning 1 Python (TDT4110)
Øvingsforelesning 1 Python (TDT4110) Introduksjon, Kalkulasjoner Ole-Magnus Pedersen Oversikt Praktisk Info Repetisjon fra sist Oppgaver for øving 2 2 Praktisk Info Last opp øvinger på Blackboard før godkjenning
TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)
1 TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) Anders Christensen [email protected] Rune Sætre [email protected] 2 Læringsmål og pensum Læringsmål Datastrukturer: Cell Arrays
TDT4105 Informasjonsteknologi, grunnkurs
1 TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling Anders Christensen ([email protected]) Rune Sætre ([email protected]) TDT4105 IT Grunnkurs 2 Læringsmål/pensum Filbehandling Mål: Forstå
TDT4110 Informasjonsteknologi grunnkurs: Uke 48 Oppsummering/Spørretime. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Uke 48 Oppsummering/Spørretime Professor Alf Inge Wang 2 Tar kun ca 5 minutter! HUSK EVALUERE FAGET PÅ IT S LEARNING INNEN 7.DES! 3 Oversikt Pensum Opplysninger
Objektorientert programmering i Python. Resten av semesteret. Innhold uke 9 Mer komplekse strukturer. Referanser og objekter, inkl Mentimeter spørsmål
Innhold uke 9 Mer komplekse strukturer Objektorientert programmering i Python IN1000 Høst 2018 uke 9 Siri Moe Jensen Referanser versus objekter (repetisjon) "Dot-notasjon" Spesielle metoder i egendefinerte
Python: Mengder og Dictionaries 3. utgave: Kapittel 9
Python: Mengder og Dictionaries 3. utgave: Kapittel 9 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå prinsippene for, og kunne bruke i praksis Mengder (sets) Ordbøker (dictionary)
Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode
Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon
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 Skrevet av: Ole Kristian Pedersen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 8.-10. klasse Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks,
Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator
Litt mer om løkker Arrayer le Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i slo Java Repetisjon: operatorene ++ og -- Instruksjon i = i + i = i - Alternativ Prefiks-operator
TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)
1 TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8) Anders Christensen [email protected] Rune Sætre [email protected] 2 Læringsmål og pensum Læringsmål Datastrukturer: Cell Arrays Structures
INF120: Oblig 3. Yngve Mardal Moe
Yngve Mardal Moe Mar 28, 2019 Contents 1 Hva trenger dere for denne oppgaven 3 2 Hvordan skal dere arbeide med denne oppgaven 5 3 En søkeindeks 7 4 Å slå opp i en søkeindeks 9 5 Å utvide en søkeindeks
Øvingsforelesning 5 Python (TDT4110)
Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med
Python: Filer og unntak Gaddis: Kapittel 6
Python: Filer og unntak Gaddis: Kapittel 6 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære hva filer er Lære hva unntaksbehandling er Kunne bruke inn- og utoperasjoner i Python
TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.
1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 11. Sept. Noen oppstartsproblemer
Løse reelle problemer
Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)
Informasjon Prøveeksamen i IN1000 høsten 2018
Prøveeksamen IN1000-INF1001-H18 Informasjon Prøveeksamen i IN1000 høsten 2018 Tid Fra tirsdag 6.11 kl. 14:15 til tirsdag 13.11 kl. 12:00 (Normal eksamenstid er 4 timer) Oppgavene Oppgave 2b og 2c er flervalgsoppgaver.
Python: Mengder og Dictionaries 3. utgave: Kapittel 9
Python: Mengder og Dictionaries 3. utgave: Kapittel 9 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå prinsippene for, og kunne bruke i praksis Mengder (sets) Ordbøker / oppslagslister
Repetisjon Novice Videregående Python PDF
Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med
TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose
1 TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose Anders Christensen ([email protected]) Rune Sætre ([email protected]) TDT4105 IT Grunnkurs
Øvingsforelesning 5 Python (TDT4110)
Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med
TDT4105 Informasjonsteknologi, grunnkurs
1 TDT4105 Informasjonsteknologi, grunnkurs Matlab: Sortering og søking Anders Christensen ([email protected]) Rune Sætre ([email protected]) TDT4105 IT Grunnkurs 2 Pensum Matlab-boka: 12.3 og 12.5 Stoffet
3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster
3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker
TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler. - 3rd edition: Kapittel Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler - 3rd edition: Kapittel 5.7-5.10 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Beherske returverdier og returverdifunksjoner
Velkommen til. IN1010 Objektorientert programmering Våren 2018
Velkommen til IN1010 Objektorientert programmering Våren 2018 Idag: 1. time: Om IN1010 2. time (+ i morgen og neste uke): Om Java og objekter i Java 1 Stein Gjessing, Siri Jensen og Dag Langmyhr Universitetet
TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,
1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 16. Sept. Noen oppstartsproblemer
Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim
Hvor gammel er du? Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim Kurs: Python Tema: Tekstbasert Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Hvor gammel er du? I dette oppgavesettet
INF1000 Eksamen 2014 (modifisert)
INF1000 Eksamen 2014 (modifisert) Oppgave 1 (4 poeng) a) Hva er verdien til tall etter at følgende kode er utført? tall = (5+3)*2 tall = tall+2 18. b) Anta at følgende programsetninger utføres. Hva skrives
Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!
1 Kunnskap for en bedre verden TDT4105 Informasjonsteknologi, grunnkurs Mer om funksjoner. Logiske betingelser og betinget programutførelse (valg). Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget
INF109 - Uke 1b 20.01.2016
INF109 - Uke 1b 20.01.2016 1 Variabler Et program er ikke til stor hjelp hvis det er statisk. Statisk betyr at programmet bare bearbeider faste data som er lagt inn i programkoden. For å gjøre programmer
Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om
Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon
Hangman Erfaren Python Introduksjon La oss lage et spill: Hangman! Datamaskinen vil velge et ord og du kan gjette det bokstav for bokstav. Dersom du gjetter feil for mange ganger taper du. Steg 1: Velg
