Filen stack.py
class Stack: def __init__(self): self.top = None def push(self,x): ny = Node(x) ny.next = self.top self.top = ny def pop(self): x = self.top.value self.top = self.top.next return x def isempty(self): if self.top == None: return True else: return False class Node: def __init__(self, x): self.value = x self.next = None |
raden = raw_input("Ge en rad tal: ") raden_i_delar = raden.split() for tal in raden_i_delar: print tal |
append(x)
Lägger till x sist i listan.
insert(i,x)
Lägger till x på plats i.
pop()
Plockar bort sista elementet från listan.
sort()
Sorterar listan.
reverse()
Vänder på listan.
index(x)
Returnerar index för första förekomsten av x.
count(x)
Räknar antalet x i listan.
remove(x)
Tar bort första förekomsten av x.
[i]
Returnerar i:te elementet i listan.
[:]
Plockar ut en dellista.
+
Konkatenerar två listor
*
Flerdubblar listan.
in
Kollar om ett element finns med i listan.
len
Returnerar listans längd.
infil = open("tred.txt") lista = [] for rad in infil: ordet = rad.strip() lista.append(ordet) lista.sort() print lista |
import urllib import time def lasFilSortera(filnamn): infil = open(filnamn) lista = [] for rad in infil: ordet = rad.strip() lista.append(ordet) lista.sort() return lista def lasURLSortera(url): infil = urllib.urlopen(url) lista = [] for rad in infil: ordet = rad.strip() lista.append(ordet) lista.sort() return lista innan = time.time() lista1 = lasFilSortera("tred.txt") efter = time.time() print "Tid för filläsning:", efter - innan innan = time.time() lista2 = lasURLSortera("http://www.csc.kth.se/utbildning/kth/kurser/DD1320/tild\ a11/ovn/tred.txt") efter = time.time() print "Tid för webbläsning:", efter - innan |
I kursen ska ni själva implementera datastrukturer, oftast genom att skriva egna klasser i Python.
* Temperatur kan anges i olika skalor. En abstrakt datatyp minskar risken för missförstånd. Definiera klassen temp med metoderna setK, setC, setF och getK, getC, getF.
* Använd sedan klassen i ett program som läser in utomhustemperaturen
(Celsius) och skriver ut temperaturen så att en amerikan förstår (Fahrenheit).
Filen temp.py:
nollC = 273.15 nollF = 255.3722 #F-nollan i Kelvin class Temp: def __init__(self): self.K = 0 #Temperatur i Kelvin def setK(self,K): self.K = K def setC(self,C): self.K = nollC+C def setF(self,F): self.K = nollF+5*F/9 def getK(self): return self.K def getC(self): return self.K-nollC def getF(self): return (self.K-nollF)*9/5 |
# encoding: Latin1 (tillåt å, ä och ö) # Fraction-klassen class Fraction: def __init__(self, top, bottom): self.num = top self.den = bottom def __str__(self): return str(self.num)+"/"+str(self.den) def show(self): print self.num,"/",self.den def __add__(self,otherfraction): newnum = self.num*otherfraction.den + \ self.den*otherfraction.num newden = self.den * otherfraction.den return Fraction(newnum,newden) def __cmp__(self,otherfraction): num1 = self.num*otherfraction.den num2 = self.den*otherfraction.num if num1 < num2: return -1 else: if num1 == num2: return 0 else: return 1 |
Svara på följande frågor:
Fraction
-objekt?
__init__
?
self
?
__str__
?
__add__
?
__cmp__
?
otherfraction
i __add__
och __cmp__
?
def iso2utf(strang): """ Konverterar från iso8859 till utf-8 """ ustrang = strang.decode('iso8859-1') return ustrang.encode('utf-8') |