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')
 |