raden = raw_input("Ge en rad tal: ") raden_i_delar = raden.split() for tal in raden_i_delar: print tal
Algoritm:
120 modulo 65 = 55 |
65 modulo 55 = 10 |
55 modulo 10 = 5 |
10 modulo 5 = 0 |
#encoding:Latin1 def gcd(m,n): while m%n != 0: oldm = m oldn = n m=oldn n=oldm%oldn return n |
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.
I kursen ska vi 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).
# -*- coding: Latin-1 -*- """Abstrakt datatyp för temperatur""" nollC = 273.15 nollF = 255.3666666 #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 |
Filen stack.py (känd från föreläsning)
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