Årsarkiv: 2013

En julhälsning

TL, DR; Tack alla för ett superbra 2013. Nu gör vi 2014 ännu bättre! I love you all!

Tjena bloggen!

Min först hösttermin som student i Linköping har susat förbi och det har varit spännande tider. Det är självklart att när man flyttar till ett nytt ställe och lämnar sitt aktuella liv bakom sig kommer det ske stora förändringar, men det är helt omöjligt att föreställa sig hur det kommer utvecklas. Tittar jag tillbaka på mina första månader här känner jag att allt har ordnat sig fint även om det funnits tider då det kändes tungt och ensamt, men det händer allt mer sällan nu när inte allt är okänt och skrämmande längre. :)

Syftet med att jag är student är ju såklart för att lära mig saker, men detta sker i fler dimensioner än bara den där jag lär mig hur man (inte) gör en almanacka-applikation i Python. Jag fick en idé om att beskriva detta fenomen i en punktlista, så nu är det lika bra att löpa linan ut.

Saker Eric gör i Linköping:

  • Bygger mjukvara i labbsalen.
  • Bygger kropp och hälsa på Campushallens gym.
  • Bygger personlighet och identitet överallt, hela tiden.

Det är svårt att objektivt bedöma effekterna från den sista punkten men jag tror att de är mestadels positiva. Att ha lämnat komfortzonen och börjat ett nytt liv fyllt med utmaningar har boostat både självkänslan och livsglädjen och det känns superbra. En stor del av dessa förbättringar är tack vare de fantastiska människor jag lärt känna. Jag är verkligen inte den som, historiskt sett, snabbt bygger starka relationer vilket ofta beror på en rädsla för att göra fel och inte vara perfekt. Hahaha, vilken dum rädsla, men den håller på att jobbas bort tror jag. :D

Därför är jag väldigt glad över att jag dag för dag får lära känna mina fellow kursare lite bättre och att jag ”redan” har ”så många kompisar”. De flesta av er går i klassen U1 (japp, U som i mjukvaruteknik) och till alla er som inte visste det så är vårt program, Civilingenjör i Mjukvaruteknik, det bästa programmet på det bästa universitet, Linköpings Universitet, såklart. Jag är hedrad över att få vara en del min klass. Det är väldigt inspirerande att arbeta med så intelligenta männsikor. Men, det bästa av allt är den positiva attityden och den humor som finns hos så många av er. Jag hoppas kunna bidra till den glada stämningen vi har under de kommande terminerna, det kommer bli en fantastisk upplevelse och jag ser verkligen fram mot de återstående 4.5 åren ;D

Tror det räcker med sentimentalt snack som troligtvis inte riktigt makear sense för er läsare. Det här ska ju vara en julhälsning och hittills har det ju inte varit särskilt juligt i denna text.

Till alla nya vänner

Superkul att ha lärt känna er. Lycka till med eventuella kommande tentor ;) Under 2014 kommer vi få lära oss massa roliga saker som Java, C++ och linjär algebra, mums filibaba. Ser fram mot ett lärorikt och utmanande år med er fyllt av långa pass i labbsalarna och många matlådor med (mycket) spaghetti och köttfärsås/falukorv.

Till vännerna i Västmanland iller bästa Hallstahammar

Jag kommer hem imorrn och det ska bli superskoj att träffa er och få höra allt skoj som hänt och hinna med att göra massa skoj. Mycket skoj i förra meningen, men det kan inte hjälpas, ni är väldigt skojiga av er. Skoj, skoj, skoj.

Till alla

God Jul och Gott Nytt År, hoppas ni får en förträfflig juletid! Avslutar med ett litet youtube-klipp som Linus tipsade mig om, tack Linus!

Eric Henziger signar ut, ses nästa år!

Helt logiskt, eller?

I skolan läser vi en kurs i logik, så det här inlägget kommer handla om just det, WOHOO.

* Sörjer de läsare som stängde denna sida efter att ha läst första meningen. :'( *

Snabbkurs i logik (opedagogisk och allmänt kass)

Nåväl, logiken handlar bland annat om att dra slutsatser utifrån ett eller flera påståenden. Ett påstående kan antingen vara sant eller falskt. Vi har till exempel ett påstående som säger att ”Solen är varm” och i den verklighet jag känner till så är det påståendet sant.  Ett annat påstående ”Rävar har svans” är också sant så vitt jag vet. Ett exempel på ett falskt påstående skulle kunna vara ”Vatten är gjort av ägg”.

För att göra saker lite mer intressanta kan man applicera olika logiska operatorer på sina påståenden. En logisk operator är negation som kan beskrivas ”ej” eller ”icke” och kan betecknas ¬. Till exempel kommer ¬”Solen är varm” få värdet falskt. Alltså, med negation kan man göra om sant till falskt och vice versa.

Konjunktion, till vardags OCH, är en operator som använder två påståenden och slår ihop resultaten från de påståendena. Konjunktion betecknas ∧ och resultatet efter användning av denna operator är endast sant om båda påståendena man använde också var sanna. Om ett eller båda påståendena är falska kommer resultatet bli falskt. Exempel:
”Solen är varm” ∧ ”Rävar har svans” blir sant.
”Rävar har svans” ∧ ”Vatten är gjort av ägg” blir falskt.

Det var min crash-course till OCH-operatorn. Kanske har er nyfikenhet fått er att undra om det även finns en ELLER-operator, och ja det finns det. Men det finns en hake, ELLER kommer i två smaker, inkluderande och exkluderande.

Inklusiv disjunktion, som ELLER-operatorn kallas, innebär att minst ett eller båda påstående kan vara sanna för att hela resultatet ska bli sant. Exempel:
”Solen är varm” ∨ ”Vatten är gjort av ägg” blir sant.
”Rävar har svans” ∨ ”Solen är varm” blir också sant.

Exklusiv disjunktion kan bland annat betecknas med ett och kan beskrivas med frasen ”antingen eller”. Alltså resultatet är sant om (och endast om) ett påstående är sant. Exempel:
”Solen är varm” ”Katter har svans” blir falskt.
”Vatten är gjort av ägg” ”En fjällmyr är fler än fyra elefanter” är falskt.
”Rävar har svans” ”Kattugglan har svans” är sant.

En titt på svenska språket

Och, icke och eller finns ju även i det svenska språket, liksom i många andra språk. Här började jag tänka på om ordet eller är inkluderande eller exkluderande. Det skiljer sig nog i fall till fall men något som dyker upp då och då är det inte alltför vackra konstruktionen ”och/eller” som i själva verket är inklusiv disjunktion. En exempelmening kan vara ”När Nalle Puh är social umgås han oftast med Nasse och/eller Christoffer Robin”. Nu är säkert flera av oss rätt vana med att tolka och tyda ”och/eller” men jag känner ändå att ett ”och/eller” inte riktigt hör hemma där, det är långt och ser fult ut. USCH!

Vill jag att vi ska byta ut ”och/eller” mot ”inklusiv disjunktion”? Jamen självklart, hör bara: ”När Nalle Puh är social umgås han oftast med Nasse inklusiv disjunktion Christian Bale”. 8D /ironi

Faktum är att jag har kommit på en lysande idé för att utöka och förbättra vårt vackra språk. Mitt förslag är att vi inför ett nytt ord, ordet iller:

En iller, inklusive allt

En iller, inklusive allt

Iller kommer alltså från sammanslagningen ”inklusive eller” och är ett ord som inte används så ofta som det borde.* Visst, ordet finns redan för den svenska benämningen av Mustela putorius och därmed finns det viss risk för missförstånd men om ordet fluga klarar det så gör iller det också. Här kommer några exempel på meningar som använt sig av formen ”och/eller” men som jag nu istället ersatt med ”iller”:

  • Bli universitetslektor i barn- och ungdomsvetenskap med inriktning mot matematik iller naturvetenskap.
  • Bli mentor åt studenter med neuropsykiatriska iller psykiska funktionsnedsättningar.
  • Ändra bolag iller sparform för din tjänstepension.
  • Studera arbetsterapi inom området psykiska iller kognitiva funktionshinder.
  • Lär dig förhandla bort övertidsersättning mot högre lön iller fler semesterdagar.

Vid det här laget är ni alla säkert övertygade om att iller är det nya braiga ordet som äntligen gör oss fria från konstruktionen och/eller. Det vi alla behöver göra nu är att försöka använda ordet iller så ofta vi bara kan.

Till sist vill jag bara sia i framtiden lite med en förutspådd notis från DN: ”Iller, ett ord som först myntades av Eric Henziger har revolutionerat det svenska språket. Tack vare att ”och/eller” som består av nio tecken kunde ersättas med det fem-bokstaviga ordet iller har åtgången på tryckpapper minskat drastiskt och det ökade antalet träd på planeten här återställt balansen i det globala ekosystemet. Vi säger TACK till Eric och bye bye växthuseffekten.”

Kram på er och Trevlig Helg!

* Illern verkar vara ett populärt smeknamn på kollegor som man ville reta lite lagom mycket, kanske har du en iller på jobbet? I så fall, låt hen få veta det på måndagsmorgonen för att göda den där härliga kontorsstämningen.

Min födelsedag

Aldrig har jag gråtit så mycket på min födelsedag som detta år.

Men var inte oroliga, det är inte så allvarligt som det låter. Först och främst, jag kan inte minnas att jag gråtit någon av mina tidigare födelsedagar så det finns inte mycket till konkurrens. Och om vi analyserar min dag lite mer så kanske det förklarar det hela lite bättre. Det var tre saker som fick bägaren att rinna över kan man säga :)

What makes Eric tear up?

  1. Får grattis-MMS från föräldrarna, med gulliga små fantasidjur bifogade i meddelandet som är superglada, dansar och high-fivar. Hur gulligt som helst. Tänker på mor och far som också är hur gulliga som helst.
    grön_sötis lila_sötis
  2. Får gratulationer på Facebook från sina vänner, och från människor som jag inte direkt hade förväntat mig att bli gratulerad av. Wow, folk tänker på en, det är en ganska trevlig insikt. Tack snälla vänner, betyder mycket ska ni vet, mer än jag kunnat ana. feelsgoodman.jpg
  3. Äter lunch, kollar videos på reddit under tiden. Hamnar på Marlena Katenes youtube-kanal där hon lägger upp intervjuer med mer eller mindre kända människor. En sak bara, Marlena är funktionshindrad och sitter i rullstol och kan inte prata. Intervjuerna håller trots detta väldigt hög kvalité och att se någon övervinna sitt handikapp på det här sättet är något som verkligen berörde mig, riktigt stark tjej det där. Har inte hunnit se så mycket ännu men gillade intervjun med Tony Hawk. Mr Hawk is a total boss. Sen tycker jag att det är häftigt hur teknik kan användas på det här viset och helt verkligen förbättra någons liv så markant, gogo technology.

När jag läser de här punkterna nu i efterhand kan jag tycka att det är lite konstigt att jag skulle behöva bryta ihop för det där och kanske håller ni med. Men men, jag antar att jag har gått och blivit blödig på gamla dar, charmigt ;)

Annat roligt som hänt

Födelsedagen är ju en bra dag att unna sig något lite extra. Därför bestämde jag mig för att sätta bakningskunskaperna på prov med något så avancerat som chokladbollar. Jag följde Leilas recept men bytte ut smöret mot margarin, vilket gav protester på sina håll. Jag håller mig gärna till veganskt om det går men jag kanske borde sätta mig in mer i Smör vs Margarin-debatten. Istället för kaffe blev det vatten, hade jag haft konjak hemma eller om Systämet hade haft öppet hade jag kanske provat det. Note to self: Bunkra mer starksprit. Som garnering hade jag kokosflingor och hasselnötter.

julmust och chokladbollar

Mumma

Nu kanske ni undrar varför jag hade hasselnötter till chokladbollarna och varför det är en datormus med i bilden. Det ska jag tala om för er, om man slår ihop en hasselnöt och en datormus så får man nämligen något så oerhört sött:

En gullig hasselmus

En hasselmus

Glad första advent, snart är det jul! :D Se till att lyssna järnet på www.julradio.se för extra mycket julstämning :)

PS: Tack till Ante, Jon, Manne och G-man som tog med mig till Dreamhack igår. Hade en intensiv och jätterolig dag med er. Ni är mäkta bra kompisar :)

FA adventures with Eric

Foreword
I began writing the draft for this post in English, and I think it’s for the best if a continue doing so. Sorry if bad English.

Tonight’s plan was set for a visit to a small café in central Linköping called Babettes Kafferi. On this very night the café had invited the authors of the book Kärlekens väg to come and speak about christian beliefs and animal rights. As I’m keen on the vegan lifestyle and don’t have that good of an understanding of christianity I thought it could be a very interesting evening.

I got the address and jumped on my bike and swooshed down to central Linköping. I had trouble finding the café and was running a bit late. What’s worse, I felt a sudden need to use a restroom as I’d been drinking lots of water which had now been processed and needed to get out.

Being unable to find the café, now being 15 minutes late, I aborted the search. I felt lost and didn’t know what to do now. I was just roaming the streets, which was pretty nice, feeling anonymous, walking without a purpose. This feeling was not to last though and eventually I thought that while I’m downtown I might as well go get an after work beer at some nice place, just like a real grownup.

However, I didn’t feel too hyped about the idea to start my after work session by asking the waiter for the restroom first thing after entering the restaurant, and by now I really needed to go. I remembered a tourist sign pointing to a public restroom. I tracked it (the restroom) down and standing in front of it I could read the directions: ”Press for entrance” – Okay, I thought as I pressed the button that made a big silver door slide open. I entered, and the door slide shut. The door only had an emergency open handle but I was looking for someway to lock myself in. I found another button that said it would lock the door, I pressed it and nothing seemed to happen. Apparently, you’re supposed to trust electronics for locking the door of a public restroom. Unimpressed, I wished for a hasp or a clasp or some other mechanical, trustworthy device.

Feeling a bit uneasy, I pressed another button for instructions, which were presented by a friendly female voice. This calmed me and I did my business, I was, however, not allowed to flush as that was to be done automatically after I had left the restroom, that did not make me feel less uneasy. After putting my hands under the tap in various ways I managed to get the water running to was my hands off. Finally, I was done. At last, I could flee this futuristic and scary place as a happier and enlightened being, everything went all right after all.

Back to tonight’s new bonus objective, a beer at Överste Mörner. I took a longcut to build up the courage I needed to enter the pub, arrived outside, checked the menu and then continued to walk down the street. I stopped. I walked back to the pub and this time I managed to get inside.

Greeted by the waiter I was asked if I wanted to eat. ”No, just a beer.” I replied and was directed to the bar. The bartender gives me a generic greeting and awaits my order. ”A Staropramen, thank you” because Staropramen is one not too common beverage that also has a bearable taste, or maybe it’s beerable. *rimshot*

I have bad hearing, but after a second try I catch the bartenders question and I show him my ID. ”Do I really look like 17?” I ask myself. The bartender tells me the cost, twice, and I pay in cash, even tip the guy 1 SEK. I’ve been served, and I start to wonder if I’m allowed to take place at a table or am I stuck sitting in the bar? Well, I really needed a table to jot down all my thoughts from this evening so I discretely search for a place to sit and hope for the best. The beer cost me 70 SEK and the place is far from crowded, I feel no shame for sitting wherever I want. I find a good spot, I am safe once again.

Sitting there, I can’t help to wonder what makes people go out to a place like this on a Tuesday night. It is quite cosy, but the music is drowned by all the murmurs from everyone. Prices are somewhat expensive, but maybe the food is really good, or maybe people have to much money. All these thoughts about food made me hungry, and I began feeling the need to leak again, it was time to go home.

I have school tomorrow.

And now I’m drunk, great.

And why didn’t that girl turn up that I had imagined to just magically crash down by my table, being super interested in me and what I was writing down. She was supposed to fix my ”Have no company for the hunger games movie”-problem. Oh well, that will be sorted in some other way.

Get it together Cher

Visst är det skönt när man inser varför saker och ting är som de är.

Denna kväll har jag haft ett sådant uppvaknande, kommit till insikt med hur världen är och varför den är på det viset. Med dess ord kanske jag har gett lite för mycket hype till hela alltet och några av er kanske blir besvikna när jag säger att det handlar om musik, närmare bestämt Cher Lloyd, popartist.

Chers singel With ur love är varken hennes första stora hit och kanske inte heller den största, men den är den bästa. Want u back har för närvarande flest visningar men så var det ju också den videon som lanserades i samband med hennes genombrott i staterna. Jag vet inte, men det verkar som att jänkarna bara lyssnar på musik som har importerats och noggrant förtullats  samtidigt som de själva sprider sin musik av blandad kvalitet världen över. Förstår inte hur det fungerar riktigt.

Åter till Cher Lloyd. Anledning till att hennes låt With ur love är hennes bästa beror helt enkelt på en sak, självaste Max Martin har varit med och producerat låten. Den mannen vet hur en poplåt skall smidas, ta en titt på hans diskografi om ni törs. Cher borde definitivt kollaborera mer med honom.

Nåväl, nog om pop, det finns annan musik som man kan lägga sin tid på som inte är lika utmattande. Som avslutning bjuder jag på ett klipp med Lambretta och låten Creep, som delvis är skriven av Max Martin. Dessutom är videon rippad från ZTV, nostalgiskt :)

Såg på videon och tänkte att ”en sån där vespa skulle man ha”. Insåg snabbt därefter att jag ville ha ALLT som fanns i den där videon ;)

Kram och gonattt

Professorer och Python

Hej, det är jag.

Professor Spelet

När jag packade mina saker som jag ville ha med mig till Linköping snubblade jag över ett spel som varit i familjens ägo sedan jag var liten. Spelet i fråga kallas ”Professor Spelet” och är ett pusselspel av hög svårighetsgrad. Jag tänkte att det vore ett perfekt spel att ta med ner, något som kan hålla mig varm om ensamma kvällar, kokande av frustration då det är ett ganska omöjligt pussel om man försöker lösa det på det konventionella sättet. Låt mig visa med hjälp av några bilder hur pusslet ska lösas:

Framsidan på karotngen till Professor Spelet

Här ser vi framsidan av spelets kartong med ett förslag, visserligen inkorrekt, på hur man kan placera de 16 brickorna som följer med spelet.

Varje kort består av två överkroppar och två par ben, varje del har en av färgerna blå, brun, grön och lila. Varje professor är utsmyckad med ett extremt självbelåtet flin då de vet att de kommer driva dig till vansinne om du försöker dig på att lösa deras pussel.

Varje kort består av två överkroppar och två par ben, varje del har en av färgerna blå, brun, grön och lila. Varje professor är utsmyckad med ett extremt självbelåtet flin då de vet att de kommer driva dig till vansinne om du försöker dig på att lösa deras pussel.

Sedär, grön överkropp passar med gröna ben, bra jobbat. Nu gäller det bara att passa ihop de återstående 14 korten på motsvarande sätt i en 4×4 formation.

Sedär, grön överkropp passar med gröna ben, bra jobbat. Nu gäller det bara att passa ihop de återstående 14 korten på motsvarande sätt i en 4×4 formation.

Jag tänkte att jag skulle lösa pusslet med hjälp av lite mysig Python-programmering, men innan kodningen tar fart kan det vara bra att komma på (en början till) receptet till framgång.

Algoritmen

Eftersom en dator kan göra vissa uträkningar mycket snabbt formulerade jag en lösning på pusslet som helt enkelt provar att lägga ut kort så långt det går och om det inte går får man backtracka. I detalj:

  1. Lägg ett kort ”längst upp till vänster”.
  2. Gå igenom resterande kort och se om något passar på nästa position. Nästa position är i regel till höger om kortet du just la ut MEN om man har en rad av kort som är fyra till antalet lägger man inte nästa kort till höger utan istället läggs nästa kort under det vänstra kortet på den lägsta raden. ”Passar” gör korten om de kroppsdelar som sätts ihop har samma färg men inte är av samma typ. (Man kan ju inte ha en professor som bara är två par ben, även om det säkert passar bra i andra spel.)
  3. Om inget av dina resterande kort passar på nästa position så säger vi att det kortet du just la ut var ”FEL” och det tas bort och man får prova med något annat kort man har på handen.
  4. Till slut kommer du hamna i ett av två lägen. Antingen lyckas du lägga ett kort längst ner till höger, då har vi lyckats! Det andra utfallet är om vi inte kan lägga ut något av de 16 korten på platsen högst upp till vänster, dvs alla kort har markerats som ”FEL” och vi har tokfailat.

Det där var en något förenklad bild av hur jag valt att lösa pusslet, till exempel nämner jag inget om att man kan (såklart) rotera korten och få nya möjligheter till att matcha korten på hand med de som ligger på bordet. Men vet ni vad, det var tillräckligt svårt att ge beskrivningen ovan, om jag fortsätter kommer det nog tyvärr resultera i att både jag och mina fina läsare får en fruktansvärd huvudvärk.

Innan jag presenterar koden vill jag peka lite extra på några saker med programmering i allmänhet och kanske Python i synnerhet, nämligen dundermysiga dictionaries och vad man kan göra med dem.

Dundermysiga Dictionaries

På svenska kan man kalla en dictionary för en associativ lista, på svenska som någon förstår kan man kalla en associativ lista för en säck med objekt där varje objekt också är ett par objekt där den ena delen är ett nyckelord som man kan använda för att få fram värdet på den andra delen. Hmm, ingen förstod nog det där sista heller.. Ojoj, det är klurigt att förklara saker i programmering, jag försöker visa det med några exempel istället. Och jag kanske väljer att kalla en dictionary för en ordlista i fortsättningen, genialiskt. :)

Exempel: Familjen Andersson har ett system där varje famlijemedlem får skriva upp en matvara och tillsammans utgör varje medlems matvara veckans inköpslista. Familjen Andersson är pappa Rickard, mamma Cecilia och barnen Johan, Mikael, Jessica samt Linn. När man vet vad man vill ha lägger man till informationen i den fina ordlistan och jag ska visa er hur det ser ut i Pythonkod.

>>> { }

Såhär ser ordlistan ut när den är tom ‘{‘ (vänster curlingparentes) är början och ‘}’ (höger dito) markerar slutet, tråkigt =/

>>> {"Johan": "Rödbetor"}

Hurra, Johan har lagt in att han är sugen på rödbetor, kanske har han en pakt med övriga i familjen att det ska ätas pytt-i-panna. Här ser vi alltså ett objekt i ordlistan, ”Johan” utgör nyckeln och ”Rödbetor” är värdet.

>>> {"Johan": "Rödbetor", "Jessica": "Polarbröd","Rickard": "Havrefras",
     "Linn": "Jordnötssmör", "Cecilia": "Sötmandel"}

Johans drömmar om pytt-i-panna tycks ha slagits i spillror. Men nu har vi iaf en ordlista med fem nycklar som har tillhörande fem mumsiga värden (matvarorna). Vi gör en tilldelning och sparar vår ordlista i en variabel vi kallar för matkassen:

matkassen = {"Johan": "Rödbetor", "Jessica": "Polarbröd",
             "Rickard": "Havrefras", "Linn": "Jordnötssmör",
             "Cecilia": "Sötmandel"}

Nu vill pappa Rickard samla ihop allt detta till en behändig inköpslista, det gör han med en loop och nycklar (namnen) som gör en uppslagning i matkassen för att ta reda på värdet till nyckeln, det vill säga vad varje person har önskat sig.

inköpslista = [] # Japp, inköpslistan är tom i början, quelle surprise.
for namn in ["Rickard", "Cecilia","Johan", "Mikael", "Jessica", "Linn"]:
    inköpslista.append( matkassen.get(namn) )

När Rickard går igenom inköpslistan ser han att det bara finns fem stycken matvaror, fast de är sex stycken i familjen. Efter ett mycket välorganiserat familjeråd kommer det fram att Mikael inte önskat sig någon matvara då han istället för att äta tänker spendera den kommande veckan med att skriva en dikt om den svarta kaninen han hittade när han var på urban exploration i Varbergs största bunker, Bergabunkern. Pappa Rickard har en lösning på problemet med inköslistan och gör en ny loop:

inköpslista = [] # Töm inköpslistan igen, tan terrible.
for namn in ["Rickard", "Cecilia","Johan", "Mikael", "Jessica", "Linn"]:
    matkassen.setdefault(namn, "Mera havrefras")
    inköpslista.append( matkassen.get(namn) )

Det funktionen setdefault gör är att om en nyckel inte finns i en ordlista så skapas den med ett valfritt värde, i exemplet ovan ”Mera havrefras”. Havrefras har trots allt en tendens att ta slut mycket fortare än man vill. Nu kommer Rickard alltid att ha en fullständig inköpslista varje gång även om någon familjemedlem missar att önska, den önskan blir bara ersatt med ”Mera havrefras”. Men vänta, Linn som är 1337 tar en titt på koden och säger ”Pappa, din kod kan optimeras, låt mig snygga till den här spagettiröran lite”:

inköpslista = [] # Töm inköpslistan, ich liebe es.
for namn in ["Rickard", "Cecilia","Johan", "Mikael", "Jessica", "Linn"]:
    inköpslista.append( matkassen.get(namn, "Mera havrefras") )

Ni förstår, funktionen get som används på matkassen kan ta ett andra argument. Om nyckeln man försöker använda inte finns i matkassen kommer funktionen returnera det andra argumentet. Funktionen setdefault har sina användningsområden, men kanske inte just här.

TL, DR; Python dictionaries är användbara saker och funktionerna get() och setdefault() är coola och kan vara kul att känna till.

Från bugg till segerdans

När jag väl hade bestämt mig för att lösa det här pusslet med hjälp av programmering tog jag och ägnade hela lördagen till att få mitt program att fungera. Det var mycket frustrerande när jag inte kunde få programmet att fungera på natten till söndagen och till slut fick jag gå och lägga mig med buggarna kvar. Men att sova på ett programmeringsproblem kan vara ett mycket enkelt sett att komma framåt och morgonen därpå gick jag igenom min kod och kunde göra den mycket enklare och till slut hade jag fått fram en lösning till Professor Spelet, mitt uppdrag var slutfört.

Låt mig därmed presentera koden till mitt program. Det finns säkert några buggar kvar och designen inte är den bästa. Kommentarer som tillför mer förvirring än förståelse finns det gott om, sånt tycker jag är kul.

Musikförslag till när ni läser koden:

KOD