Mikaels övningar i programmeringsteknik för OPEN 2012

Övning 1:

Pdf övning 1 och här är energiprogrammet

Vi gick igenom bakgrund till python, förberedelser för att börja programmera och köra python. Vidare gick vi igenom programstruktur; identifierare, kommentarer, litteraler, reserverade ord, variabler (lokala och globala), och pythonspråket; datatyper, referenser, objekt, konstanter, funktioner (funktionshuvud, funktionaskropp, formella och anropsparametrar, funktion med och utan returvärde), typkonvertering. Dessa begrepp exempli- fierades genom att skriva ett program energikonvertering.py. Ytterligare ord som ni ska kunna inläsnng, utskrift och tilldelning.

Övning 2:

Pdf övning 2 och här är programfilen

Idag fick vi svar på frågorna; Hur gör man för att hoppa över en sats och hur gör man för att för att upprepa en sats flera gånger? För att hoppa över en sats användes if, elif eller else och för att uprepa en sats används for eller while slinga/loop. Vi gick igenom logiska operatorer and (&), or (|) och not samt samt jämförelse- operatorer ==, !=, <, <=, >, >=. Vi lekte med dessa genom att bl.a. skriva ett rektangel, ett palindrom och ett ränteprogram.

Övning 3:

Pdf , infil och utfil .

Gick igenom lists, dictionaries, felhantering, strängjämförelser, split(), rstrip(), och filer (läsning och skrivning till fil).

OBS rättning: rstrip() tar endast bort från höger och inte uppkomster mitt i. T.ex.
'hej då\n hejsan\n'.rstrip('\n') # blir 'hej då hejsan'
'hej då\n hejsan\n'.rstrip('ej') # blir 'hej då\n hejsan\n'
'hej da\n hejsan\n'.rstrip('ejsan\n') # blir 'hej da\n h'

Övning 4:

Pdf och infil med konton.

Gick igenom klasser, objekt/instanser, instantiering, instansvariabler och metoder, konstruktor, self och inkapsling. Vi skrev tre versioner av klassen Konto. Med den kunde vi enkelt skapa valfritt antal konton med uppgifter om kontonummer, namn och belopp. I version 1 skapade vi klassen samt tre funktioner lasaIn, skrivaUt och degPaBanken. I version 2 lade vi till en funktion sparaPaFil samt skrev ett enkelt användargränsnitt. I version 3 deklarerade vi klassens instansvariabler som privata (inkapsling).

Övning 5:

Pdf , produktdata och årsdata kunder.

Fortsatte med klasser och kollade på sortering (.sort()). Extra fokus på inkapsling, arv och metoderna __lt__(self, other), __str__(self ) och __init_(self, ...)__. Vi skrev ett program som kunde hantera produkter och kunder. Vi gick igenom arv där Produkt och Kund klasserna ärvde från klassen Affar. Vi avslutade med att skriva en funktion som räknade ut fibonaccis summa iterativt och ett som gjorde det rekursivt.

Övning 6:

Pdf övning 6 och exempel på hur klasser och metoder bör kommeneras samt resulterande pydoc utskrift för klassen Produkt och utskrift för metoden lasIn.

Idag delades P-uppgifteran ut samt vi hade frågestund. Vidare gick vi igenom Schampometoden, namngivning, kommentarer och pydoc.