Skapa hashtabell. En hashtabell kan ses som en lista där programmeraren associerar egna nycklar (index) till varje element som ska läggas i tabellen :

Relevanta dokument
Föreläsning 6 Programmeringsteknik och Matlab DD1312

Föreläsning 13 Datalogi 1 DA2001

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Programmering och algoritmiskt tänkande. Tema 3, föreläsning 1 Jody Foo

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!

729G04 Programmering och diskret matematik. Föreläsning 7

Föreläsning 18 Filer och avbildningar

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Planering av ett större program, del 2 - for och listor. Linda Mannila

Ordlistor, filhantering och ut på webben. Linda Mannila

Objektorienterad programmering

Den klassiska programmodellen. Introduktion till programmering D0009E. Föreläsning 11: Filer och undantag. Filsystem. Interaktiva program.

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

TDP002 - Imperativ programmering

Programmering för språkteknologer II, HT2014. Rum

Språket Python - Del 2 Grundkurs i programmering med Python

Testning av program. Verklig modell för programutveckling

Föreläsning 3 Innehåll. Generiska klasser. Icke-generisk lista ArrayList, skiss av implementering. Icke-generisk lista Risk för fel

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15.

Introduktion till programmering SMD180. Föreläsning 11: Filer och undantag

Selektion och iteration

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Listor. TDDD73 Funktionell och imperativ programmering i Python Föreläsning 7. Peter Dalenius Institutionen för datavetenskap

TDP002 Imperativ programmering

Några saker till och lite om snabbare sortering

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

TDP002 - Imperativ programmering

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Programmering för språkteknologer II, HT2011. Rum

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

729G06 Programmering och logik. OOP: Klassdiagram, arv Allmänt: Undantagshantering

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 3-4 Innehåll

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

TDP002 - Imperativ programmering

Datalogi, grundkurs 1

Datastrukturer. föreläsning 6. Maps 1

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Föreläsning 14 Innehåll

Introduktion till programmering D0009E. Föreläsning 9: Tupler och dictionaries

Grundkurs Programmering

Pythons standardbibliotek

Att skriva till och läsa från terminalfönstret

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Introduktion till programmering SMD180. Föreläsning 8: Listor

Övningsuppgifter kapitel 8

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

Programmering grundkurs

Klassen javax.swing.timer

Föreläsning 9-10 Innehåll

Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.

Felhantering TDDD78, TDDE30, 729A

TDP002 - Imperativ programmering

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon.

Laboration: Whitebox- och blackboxtesting

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Fördjupad Java. Undantagshantering. Fel

729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 2 Jody Foo,

Tentamen i Introduktion till programmering

Undantagshantering. Fördjupad Java. Fel. Undantag. Fånga Undantag. Grupper av Undantag

Undantagshantering. Fördjupad Java. Undantag. Fel. Grupper av Undantag. Fånga Undantag

Tentamen i Algoritmer & Datastrukturer i Java

Föreläsning 2 Programmeringsteknik och C DD1316

Föreläsning 4 Programmeringsteknik och Matlab DD1312. Logiska operatorer. Listor. Listor, tupler, strängar och forslingor

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Grundläggande datalogi - Övning 4

Tenta i Grundläggande programmering DD klockan

TDDC77 Objektorienterad Programmering

Föreläsning 9 Innehåll

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

Tentamen Grundläggande programmering

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

Programdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

Ingenjörsfirman Stéen Java Sida 1 av 1

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary Definitioner Implementation... 2

Innehåll. F7: Tabell, hashtabell, relation & lexikon. Gränsyta till Tabell. Tabell. Tabell Hashtabell Relation Lexikon.

Översikt. Skriva och läsa data. Kontrollflöde. Två sorters loopar. For-loop. For-loop

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Omprov 11/11. på förmiddagen.

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Sätt att skriva ut binärträd

Transkript:

(Hashtabell) En hashtabell kan ses som en lista där programmeraren associerar egna nycklar (index) till varje element som ska läggas i tabellen : Nycklar: 5 1 12 Element: maj jan dec 1/20 Skapa hashtabell Skapa med måsvingar och par av nyckel och värde, enligt nedan: ht={1: jan, 12: dec, 5: maj } Skapa med dict(): ht=dict() ht[1]= jan ht[12]= dec ht[5]= maj 2/20 1

print (ht[1]) print (ht[5]) print (ht[15]) Vad skrivs ut av ovanstående? 3/20 if 15 in ht: x = ht[15] x = ht.get(15, FINNS EJ! ) y =ht.get(15) Vad får x och y för värde om 15 inte finns i tabellen? 4/20 keys= [1,12,5] values=[ jan, dec, maj ] parvis=zip(keys,values) ht=dict(parvis) 1 12 zip jan dec 5 maj 5/20 2

keylist = list(ht.keys()) vallist = list(ht.values()) 6/20 len(ht) del ht[12] htcopy = ht.copy() 7/20 lista = 3*[2] #skapar en lista med 3 matris=4*[3*[2]] print (matris) matris[0][1]= 5 print (matris) Vad skrivs ut? Varför? Rita en minnesbild som kan förklara detta. 8/20 3

matris Minnesbilder matris 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 9/20 Lösning matris=[3*[2] for i in range(4)] print matris matris[0][1] = 5 print(matris) Vad skrivs ut av ovanstående kod? 10/20 file = open( filename.txt, r ) file = open( filename.txt, w ) file = open( filename.txt, a ) r+, w+, a+ 11/20 4

contents = file.read() fivechars = file.read(5) oneline = file.readline() alllines = file.readlines() 12/20 file.write( Hejsan hoppsan ) file.writelines(stringlist) file.close() 13/20 Exception try och except är reserverade ord som används för hantering av exekveringsfel. plista= ['s','v','m','mp','fp','c','kd'] try: i=int(input( Ange index: )) parti=plista[i] except: print ( Nagot fel intraffade ) 14/20 5

try: Syntax Kod som kan orsaka något typ av exekveringsfel except: Kod som exekveras om och endast om det blir något fel i kodblocket efter try 15/20 Så här går det till Kod i blocket mellan try: och except: börjar exekvera, men så fort ett fel uppstår i någon rad avbryts exekveringen direkt, resterande rader i blocket exekveras inte och koden som finns i blocket efter except: börjar exekvera i stället. 16/20 Mer detaljerad pista= ['s','v','m','mp','fp','c','kd'] try: i=int(input('ange index: ')) parti=plista[i] except IndexError: print 'ogilltigt index' except ValueError: print 'index maste var ett tal' except: print uppstod något tokänd fel! 17/20 6

Typ IOError IndexError KeyError TypeError ValueError ZeroDivisionError Olika typ av fel Beskrivning uppstår när man vill öppna en fil som inte finns. Uppstår vid tillgång till ett index i en lista som inte finns Uppstår när en nyckel inte finns i uppsalgslista Uppstår när en inbyggd operation eller funktion tillämpas på ett objekt av olämplig typ Uppstår när funktion används med ett parameter med korrekt typ men fel värde Uppstår när divisor i en divition är 0 18/20, är väldigt lämplig för snabba sökningar Var noga med referenser, det är endast typen tal (int, float) som inte använder referenser. Filer kan öppnas för olika ändamål, lösning,skrivning och tilläggning av data try, except används för att hantera exekveringsfel. 19/20 7