Python: Mengder og Dictionaries 3. utgave: Kapittel 9
|
|
|
- Erling Didriksen
- 9 år siden
- Visninger:
Transkript
1 Python: Mengder og Dictionaries 3. utgave: Kapittel 9 TDT4110 IT Grunnkurs Professor Guttorm Sindre
2 Læringsmål og pensum Mål Forstå prinsippene for, og kunne bruke i praksis Mengder (sets) Ordbøker / oppslagslister (dictionary) Vite forskjell på disse og lister, tupler, strenger Vite forskjell på tekstfiler og binærfiler Forstå, og kunne bruke, serialisering av objekter Pensum Starting out with Python, Chapter 9: Dictionaries and Sets 2
3 Foregående to uker vs. denne Sammensatte variable: lagre data i primærminnet Lister; tupler; strenger [1, 3, 3, 5] [ a, e, i, o, u, y ] ; (1, 3, 3, 5) ( a, e, i, o, u, y ) ; 1335, aeiouy Rekkefølge på elementene. Lister er muterbare, tupler og strenger ikke Mengder, dictionaries {1, 3, 5} { a, e, i, o, u, y } { a :.-, b : -, c : -.-. } { : [ Per, Olsen, Trondheim ] } Muterbare, ingen fast rekkefølge, ingen duplikater FORDEL: Raskere oppslag, raskere å legge til eller fjerne element ULEMPE: Større plassforbruk enn lister, tupler, strenger Filer: lagre data permanent i sekundærminne Tekstfiler: leses og skrives til/fra strengvariable FORDEL: Bredt anvendelig, lett å lese av mange slags apper ULEMPE: Litt treg lesing, stor plassbruk, tidsbruk til konvertering Binærfiler: kan leses/skrives til/fra andre variable (f.eks. dictionary) FORDEL: Mer kompakt lagring, raskere lesing, slipper konvertering ULEMPE: Kan bare leses av visse program 3
4 Kapittel 9.2 Mengder (Sets)
5 Mengder (Eng.: sets) Datastruktur for matematiske mengder Unike element, ingen dubletter Ikke ordnet, dvs. ingen bestemt rekkefølge De fleste funksjoner for lister kan brukes for mengder Mengder har flere spesifikke operasjoner, bl.a.: union intersection = no. snitt Ulike typer mengdedifferanser 5
6 Opprette og endre på mengder En mengde opprettes ved å bruke funksjonen set( ) A = set([5,3,3,12]) B = set([true, ost, 23.2, 92, False]) C = set( aaabcd ) # gir { a, b, c, d } Eller ved direkte angivelse av innhold: D = {9,4,1,3} # NB: D = {} gir en tom dictionary. Tom mengde: D = set() Legge til og fjerne elementer fra en mengde: A.add(9) # Legg til ett element A.update([3,4,2]) # Legg til flere elementer B.remove(92) # fjerner tallet 92 6
7 Iterasjon og medlemsskap For-løkke kan iterere over en mengde Som for lister, tupler, filer, strenger for x in mengde: print(x) # Skriver ut elementer under hverandre Undersøke om verdi tilhører mengde: in, not in Tilsvarer og i matematisk notasjon if x in A: print( Verdien, x, er i mengden A ) 7
8 Mengdeoperasjoner på A og B Union av to mengder: C = A.union(B) Snitt av to mengder: C = A.intersection(B) Mengdedifferanse: C = A.difference(B) Symmetrisk mengdedifferanse: # C = A U B # C = A B # C = A \ B C = A.symmetric_difference(B) # C = (A U B) \ (A B) Sjekke delmengde eller supermengde: A.issubset(B) A.issuperset(B) # True hvis A B, ellers False # True hvis A B, ellers False 8
9 Oppgave LETTERE: Start med koden mengde_uferdig.py Fullfør koden ved å skrive ferdig de to funksjonene lag_mengde() og finn_mistenkte(). Personer skal komme fram som mulige mistenkte hvis de hadde våpen og motiv, men ikke alibi Løsning: mengde-ferdig.py VANSKELIGERE: Ser for oss her et trimløp hvor målet er å besøke flest mulig fjelltopper på en dag. Får inn ei liste av lister, hvor hver indre liste er de som har vært på en bestemt topp. Start med koden fjell_uferdig.py Fullfør koden ved å skrive ferdig de to funksjonene, bruk mengder for å finne hvem som har deltatt (minst en topp) og hvem som har vært på alle toppene. Løsning: fjell-ferdig.py 9
10 Kapittel 9.1 Ordbøker (Dictionary)
11 Oppslagsliste (Dictionary) Lagrer en samling av data. Minner litt om mengder, litt om lister Defineres ved { } (ALT+SHIFT 8/9 på Mac) Indeks kan være hva som helst (ikke bare tall) F.eks strenger, heltall, flyttall, boolske verdier Indeks kalles nøkkel (key) Brukes når vi vil gjøre oppslag på en verdi for å finne andre assosierte verdier A = {} # Tom dictionary A[ Kari ] = # Oppretter et element tlf={ Jo : , Per : , 'Else : } print(tlf[ Per ]) # Skriver ut verdien
12 Bruk av in og not in Sjekke om elementer finnes som lister, mengder etc. tlf={'jo' : , 'Per' : , 'Else' : } navn = input( Hvem vil du vite nummeret til? ) if navn in tlf: print(tlf[navn]) else: print( Har ingen opplysninger om + navn) 12
13 Operasjoner for dictionaries Operasjon len(d) d[k] d[k] = v del d[k] d.clear() d.copy() d.has_key(k) Forklaring Antall elementer i d Verdi til element i d med nøkkel k Sett element k til verdi v Slett element k i d Fjerne alle element i d Lag kopi av d Fjernet i Python 3. Må bruke in i stedet. Operasjon Forklaring d.items() d.keys() d.values() d.get(k) d.get(k,v) Returnerer liste av (nøkkel,verdi) par Returnerer liste av nøkler i d Returnerer liste av verdier i d Samme som d[k] Returnerer d[k] hvis k er gyldig, ellers v
14 Ulike datatyper i dictionaries Verdier i dictionary kan også være lister Eks. lagre tlf, adresse og betalingsinfo i en dictionary: db = {} # Oppretter dictionary db[ Jo ]=[ , Logata 4, 7000 Trondheim, True] db[ Ann ]=[ , Strandg. 2, 5000 Bergen, False] print(db[ Jo ]) # skriver ut lista med data for Jo Fordel med dictionary vs. f.eks liste av lister: Kan slå opp direkte på meningsfylt indeks Mens indeks i liste ofte er intetsigende (kun rekkefølge) Dictionary: mindre strev med å lete etter riktig element så lenge nøkkelen er det vi leter etter 14
15 for-løkke og dictionary Bruker man for-løkke på en dictionary, løper man igjennom nøklene til dictionary: d = { navn : Per, alder : 28, IQ : 129} for x in d: print(x) # går igjennom nøkler i d # skriver ut nøklene navn, alder, IQ For å sikre gjennomgang av nøkler alfabetisk: for x in sorted(d.keys()): # sorterer nøkler print(x) 15
16 Hva bruke som nøkkel? Kommer an på anvendelsen, hva vi vil slå opp på Eks.: Persondata Personnummer. Fordel: unikt. Ulempe: husker det ikke, bør ikke spres for mye Telefonnummer navn Eks.: liste med ord Oversettelse norsk-engelsk: { god : good, stor : big } Gradbøying: { god : [ bedre, best ], stor : [ større, størst ] } Rimkatalog: { erte : [ berte, erte, fjerte, hjerte, smerte, terte ] } Anagrammer: finne ord med samme bokstaver uavh. av rekkefølge {??? : [ ad, da ],???: [ ert, ter, tre ],??? : [ etter, rette, treet ] } Hva bruke som nøkkel her? 16
17 Ide til nøkkel for anagrammer: Regne om hvert ord til et tall Identiske bokstaver samme tall Forskjell i antall eller type bokstav annet tall HVORDAN?? Kan omregne hvert ord til et produkt av primtall 2, 3, 5, 7, 11, 13, 17,., 109 (primtall nr 29) Hver bokstav assosieres med ett av disse tallene Det blir store tall for lange ord men enklere enn å søke gjennom hele lista hver gang For å redusere størrelsen på tallene noe bruk de laveste tallene for de vanligste bokstavene E=2, T=3, R=5, Både ET og TE vil få nøkkel 6 (2*3) Både ERT, TER og TRE vil få nøkkel 30 (2*3*5) 17
18 Oppgave Laging av dictionary LETTERE: Start med koden liste_og_dict_v0.py Skriv funksjonen lag_dict() på samme måte som lag_2d_liste() bare at den legger ordene i en dictionary, f.eks { god : [ bedre, best ], stor : [ større, størst ]} heller enn 2d liste [ [ god, bedre, best ], [ stor, større, størst ] ] VANSKELIGERE: Start med koden anagram_v0.py Skriv funksjonen string_2_key() som gir nøkkeltall for et ord, og list_2_dic() som går igjennom hele lista av ord og lager en dictionary hvor alle anagrammer er plassert ved samme nøkkel. NB: Plasser fila nsf2016.txt på samme katalog som koden Løsning: liste_og_dict_v1.py Løsning: anagram_v1.py 18
19 Kapittel 9.3 Serialisering av objekter
20 Serialisering av objekter Konverterer et objekt til en strøm av bytes Gir en persistent variabel Data lagres til fil, kan senere leses tilbake Verdiene overlever programslutt, at maskin slås av, etc. I Python: biblioteket pickle har funksjoner for dette Fordeler med binærfiler (vs. tekstfil) Får dataene direkte inn i ønsket datastruktur Slipper konvertering til / fra strenger Vanligvis mindre plasskrevende Ulemper vs. tekstfil Fila er ikke lesbar for mennesker Applikasjonsavhengig må ha spesifikk kjennskap til filformatet for å kunne bruke fila 20
21 Lagre dictionary til disk Bruk biblioteket pickle metoden pickle.dump( ) Må åpne fila som binærfil og ikke som tekst, det er mer enn tekst som lagres (struktur): db={ Jo : [10, Skogata 3 ], Per :[20, Heigata 2 ]} import pickle # Importerer modulen f = open( database.dat, wb ) # b=binary pickle.dump(db,f) # Dumper db til disk f.close() # Lukker fila 21
22 Laste inn dictionary fra disk Metoden pickle.load() Husk å åpne fila som binærfil og ikke tekst. import pickle f = open( datafil.dat, rb ) data = pickle.load(f) f.close() # r=read, b=binary # Laster inn dict fra disk 22
23 Anagram-finneren, V2 Serialisering kan redusere ventetid for brukeren Dele opp i tre filer: anagram_v2_felles.py En modul for felles kode: Et admin-program anagram_v2_admin.py Leser ordlista fra Scrabbleforbundet fra tekstfil Bygger opp dictionary og dumper den på binærfil Et program for brukeren: anagram_v2_user.py Leser inn dictionary fra binærfil Spør brukeren om tekster og finner anagrammer Brukeren trenger kun kjøre brukerprogrammet Admin-programmet kjøres sjeldnere F.eks kun hver gang det kommer ny versjon av ordlista Brukeren slipper mye venting i starten 23
24 Kahoot 10 spørsmål om Mengder, oppslagslister og serialisering Basert på det som forelesningen har dekket 24
25 Oppsummering Mengder (sets) er nyttige for å gjøre operasjoner som Snitt, union og mengdedifferanse Mengder defineres ved å bruke funksjonen set(liste) Oppslagsliste (dictionary) ligner på lister, men Man kan bruke hva som helst som nøkkel (indeks). Kan opprettes tom: A = {} Eller ved nøkkel + data: A = { navn : Petter Ole } Trenger ikke indeks som er i rekkefølge Kan serialiseres / dumpes til binærfil 25
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)
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)
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,
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
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
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
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
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
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)
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:
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.,
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
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
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)
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: 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
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
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 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
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: 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
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
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
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: ,
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
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]
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
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
Øvingsforelesning 9 i Python (TDT4110)
Øvingsforelesning 9 i Python (TDT4110) Dictionaries, Exception, Filhåndtering Vegard Hellem Oversikt Praktisk Info Gjennomgang av Øving 7 Programmering til øving 9 2 Praktisk info Auditorieøving 2 Må ikke
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
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
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: Lister og tupler Gaddis: Kapittel 7
Python: Lister og tupler Gaddis: Kapittel 7 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
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
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å
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
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
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
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
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
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,
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
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
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
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
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
Innhold uke 9. Objektorientert programmering i Python. Om ukens pensum. Referanser og objekter Tema: Mer komplekse strukturer
Objektorientert programmering i Python IN1000 Høst 2017 uke 9 Siri Moe Jensen Innhold uke 9 Tema: Mer komplekse strukturer Referanser versus objekter Referanser mellom objekter Lister av objekter inkl
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
TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang
2 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 3 https://www.youtube.com/watch? v=nkiu9yen5nc 4 Læringsmål og pensum Mål Lære om
Ø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 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
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
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
TDT4110 IT Grunnkurs Høst 2014
TDT4110 IT Grunnkurs Høst 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 10 Denne øvingen er en to-ukers øving (prosjekt) og inneholder én
INF1800 Forelesning 2
INF1800 Forelesning 2 Mengdelære Roger Antonsen - 20. august 2008 (Sist oppdatert: 2008-09-03 12:36) Mengdelære Læreboken Det meste av det vi gjør her kan leses uavhengig av boken. Følgende avsnitt i boken
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
PGZ - Hangman Ekspert Python Lærerveiledning
PGZ - Hangman Ekspert Python Lærerveiledning Introduksjon I denne oppgaven skal vi lage vårt eget hangman-spill. Vi har laget litt ferdigskrevet kode for å hjelpe deg på vei. Den kan du laste ned her.
INF2220: Forelesning 3
INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) ABSTRAKTE DATATYPER 2 Abstrakte datatyper En ADT består av: Et sett med objekter. Spesifikasjon
Obligatorisk oppgave 1 INF1020 h2005
Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte
Mengdelære INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE. Læreboken. Mengder. Definisjon (Mengde) Roger Antonsen
INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE Roger Antonsen Mengdelære Institutt for informatikk Universitetet i Oslo 20. august 2008 (Sist oppdatert: 2008-09-03 12:36) Læreboken Mengder Definisjon
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å
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å
Ø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
Løkker og lister. Løse problemer med programmering. INF1001, uke3 Geir Kjetil Sandve
Løkker og lister Løse problemer med programmering INF1001, uke3 Geir Kjetil Sandve Hva vi har lært så langt Variabler og uttrykk Beslutninger Kontrollflyt Prosedyrer Fokus i dag Repetert kjøring (løkker)
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
INF2220: Forelesning 3. Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5)
INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) Map og hashing Ett minutt for deg selv: Hva vet du om maps/dictionarys og hashing fra tidligere?
Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array
Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type (kapittel.) Hash-funksjoner (kapittel..)
Øvingsforelesning 3 Python (TDT4110)
Øvingsforelesning 3 Python (TDT4110) For og While-løkker Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av øving 1 Programmering for Øving 3 2 Studasser og Piazza Studasser er der for å hjelpe
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
TDT4110 IT Grunnkurs Høst 2016
TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Vennligst fyll ut følgende informasjon i blokkbokstaver
Ø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
Filbehandling Tekstfiler
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon tekstfiler rekursjon Terje Rydland - IDI/NTNU 2 Filbehandling Tekstfiler 3 Prosessen for filoperasjoner i Python
Steg 1: Rest etter divisjon
Primtall og effektivitet Skrevet av: Martin Strand Kurs: Python Tema: Tekstbasert, Kryptografi Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I matematikktimene
Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler
Plan for dagen Vprg 4 LC191D Videregående programmering Høgskolen i Sør-Trøndelag Avdeling for informatikk og e-læring Anette Wrålsen Del: Intro til tekstfiler Del II: Mer om tekstfiler, Scanner-klassen
Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.
IN1000-INF1001-2018 Informasjon Eksamen i IN1000 og IN1001 høsten 2018 Tid 30. november kl. 14.30 (4 timer) Faglærere vil besøke lokalet ca kl 15-16. Oppgavene Oppgave 1a-f er kortsvarsoppgaver som rettes
INF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 3: Maps og Hashing Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 3 1 / 25 Maps
Maps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array
Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type Hash-funksjoner hashcode Kollisjonshåndtering
Øvingsforelesning i Python (TDT4110)
Øvingsforelesning i Python (TDT4110) Tema: Øving 2, Betingelser, if/elif/else Kristoffer Hagen Oversikt Praktisk informasjon Gjennomgang av Øving 1 Oppgaver for Øving 2 2 Praktisk Bruke andre studasser
I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.
Trading-algoritme I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Vi skal gjøre dette ved å lage et Python-program (med noen for-løkker)
TDT4110 IT Grunnkurs Høst 2014
TDT4110 IT Grunnkurs Høst 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Navn: Linje: Brukernavn (blokkbokstaver): Oppgavesettet
Øvingsforelesning i Python (TDT4110)
Øvingsforelesning i Python (TDT4110) Tema: Introduksjon, Kalkulasjoner Vegard Hellem Velkommen! Litt om meg Vegard Hellem, 4. klasse datateknologi Øvingsforeleser i TDT4110 [email protected] 2 Oversikt
Høst 2014. Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap
TDT4105 IT Grunnkurs Høst 2014 Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Øving 5 1 Teori a) Hva er den binære ASCII-verdien av bokstaven E (stor e)?
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
TDT4110 IT Grunnkurs Høst 2016
TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til Auditorieøving 1 1 Teori 1. Hvilket tall kan IKKE lagres
ITGK - H2010, Matlab. Repetisjon
1 ITGK - H2010, Matlab Repetisjon 2 Variabler og tabeller Variabler brukes til å ta vare på/lagre resultater Datamaskinen setter av plass i minne for hver variabel En flyttallsvariabel tar 8 bytes i minne
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.
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
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
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00
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
TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap
1 av 44 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap. 5.7-5.10 Terje Rydland - IDI/NTNU 2 av 44 Læringsmål og pensum Mål Beherske
... HASHING. Hashing. Hashtabeller. hash(x)
HASHING Hashing Hashtabeller (kapittel.) Hash-funksjoner (kapittel.) Kollisjonshåndtering Åpen hashing (kapittel.) Lukket hashing (kapittel.) Anta at en bilforhandler har ulike modeller han ønsker å lagre
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
Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1
Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1 Denne oppgaven skal løses to og to vha. systemutviklingsmetoden Parprogrammering. For å få levere må alle registrere seg gjennom
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
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
