=== hp is now known as GOMI [09:58] hoi [14:08] hi all [14:10] relog === hajour is now known as undi === undi is now known as undif === DooitzedeJong is now known as CasW === CasW is now known as DooitzedeJong === undif is now known as CasW [18:30] StefandeVries, EN commandoline_ alles staat goed hier [18:31] dank je, leoquant [18:31] goed, welkom allemaal [18:32] we hebben vandaag de les wat anders geregeld [18:32] want ik ben vandaag op de Ubuntu Jam in Burgum [18:32] dat betekend dat we de les vandaag via een videostream doen [18:32] http://www.livestream.com/ubuntufryslan [18:32] daarnaast zal StefandeVries zoals altijd vragen beantwoorden in #ubuntu-nl-mwanzo [18:33] en CasW zal hier een samenvatting maken van wat ik zeg [18:33] kan iedereen me zien? [18:33] ja [18:34] loud and clear [18:34] ja hoor, spannend [18:34] :) [18:34] iedereen hoort je [18:34] RawChid> Je bent verstaanbaar hier [18:34] peewee22> goed te horen [18:38] Het huiswerk staat hier http://paste.ubuntu.com/594909/ [18:38] nee, ik zie niets op het scherm [18:39] Zie je wel iets in de terminal? En heb je python-qt4 geínstalleerd? [18:41] CasW, het probleem is visueel, klun je meeschrijven? [18:41] Hij heeft nu het programma geschreven (ik zou het samenvatten, dat is waar ook) [18:42] Hij heeft nu de volgende instructies gegeven, naar voren gaan een paar keer tot het einde en dan naar rechts draaien en richting de uitgang [18:42] fallure hier [18:42] Het is mogelijk om ook een programma te schrijven om alle levels automatisch op te lossen, dat hebben Marten en ik geschreven [18:44] Het staat hier:http://paste.ubuntu.com/594911/ [18:45] Marten is nu de run-functie aan het beschrijven, en de functie run is het meest belangrijk< [18:45] Die kijkt eerst of er een uitgang in de buurt is, zo ja, dan gaat hij daarnaartoe [18:45] Daarna zoekt hij voor de steen, daarna voor lege ruimte [18:46] We gaan nu door met de stof van vandaag [18:46] Hij wil jullie vandaag de ´exceptions´ laten zien [18:46] Jullie hebben het al laten zien, hij pakt nu weer de rekenmachine ervoor [18:47] Jullie hebben toen gevraagt wat er gebeurt als je iets bijvoorbeeld door 0 deelt [18:47] Dan krijg je een exception [18:47] Normaal gesproken zie je dat die wordt gegooid, zoals dat heet, maar dat hoeft niet [18:47] Je kunt ze ook ´afvangen´ [18:48] Hij gaat dat nu doen [18:48] (typwith.me-link komt eraan) [18:49] http://typewith.me/ep/pad/view/ro.Muc6jvLcxm8/latest [18:49] typewith.me-ep-pad-view-ro.Muc6jvi.cxm8-latest [18:52] Die exception kan je afvangen in een zogenaamd codeblok [18:52] Dan kan je bijvoorbeeld ipv de error een eigen stuk tekst weergeven [18:53] Met het sleutelwoord continue kan je dan weer ´opnieuw beginnen´ [18:53] Hij heeft nu de code makkelijker gemaakt [18:54] Als jullie dit programma draaien, dan zal je merken dat het programma blijft draaien als je iets verkeerds invoert [18:54] Wat hem natuurlijk een stuk stabieler maakt [18:54] Vragen [18:55] Geen vragen [18:55] Dan gaan we verder met het volgende onderwerp [18:55] We hebben nu de exception afgevangen [18:56] Nu vangen we alle exceptions af, omdat we alleen except hebben ingetypt [18:56] Maar dat wil je soms niet [18:56] Je kunt ook maar één exception afvangen [18:56] Dat zal hij je nu laten zien [18:57] Bij bijvoorbeeld regel 46 kan je door 0 delen [18:57] En dat kan niet, dan krijg je een ZeroDivisionError [18:58] Om die af te vangen, doe je ipv except except ZeroDivisionError [18:58] Nu kan je dus doorgaan als dat het geval is [18:59] Oftewel je kan alle fouten afvangen met except (niet aangeraden) of maar één fout met except ErrorNaam [18:59] Nu moeten jullie weer python in een terminal opstarten [18:59] Wat je kan doen, is dat je een lijst hebt [19:00] En dan kan je een niet bestaand item erin aanroepen (achter het einde) [19:00] Als je dat doet, dan krijg je een IndexError, alles wat voor die dubbele punt staat, is de naam van de error (die je dus kan afvangen) [19:01] En dan kan je dus eigen foutmeldingen maken [19:01] (Of er iets anders mee doen) [19:02] Vragen? [19:02] Je kan eigen exceptions maken (dus een ´eigen IndexError´) [19:03] Bijvoorbeeld als je een eigen object hebt en je doet daar iets mee wat niet mag (niet wat Marten zegt`) [19:03] Dan kan je je eigen exception gooien [19:03] Nu gaan we laten zien hoe [19:03] Bijvoorbeeld± [19:04] class NotFoundError(exception) [19:04] Hij erft dus exception [19:04] En hier hoef je niets te doen, dus dan zet je pass (doet niets) [19:05] En nu kan je dus deze exceptions opgooien en afvangen [19:05] Exceptions zijn classes? [19:05] Met het sleutelwoord raise kan je dan die exception opgooien [19:05] Ja [19:05] ok [19:05] Oftewel raise NotFoundError() [19:05] Bestaat er een lijst met foutmeldingen? [19:06] (je maakt een instantie aan van NotFoundError) [19:06] Er wordt in de references wel gezegd welke exceptions er gegeven kunnen worden, ja [19:06] Nu wordt er weergegeven hoe je die dus kan afvangen [19:07] Vragen? [19:07] http://paste.ubuntu.com/594921/ [19:07] Daar staat de net ingetypte code [19:09] Oftewel er komt altijd ´het derde item kan niet worden opgevraagd´ te staan, ook al roep je het 4e aan [19:09] Het volgende onderwerp is bestandsbeheer [19:10] Weer een typewith.me komt eraan [19:11] http://typewith.me/ep/pad/view/ro.$Psl3hgDage/latest [19:12] Wat hij nu wil doen is dat hij ervan uitgaat dat er een bestand is, en dan gaan wij de inhoud weergeven [19:12] We hebben dus eerst een bestandsnaam nodig (rawinput) [19:12] Sorry voor de verkeerde naam, vreemde toetsenbordinstelling hier [19:13] Met de ingebouwde openfunctie kan je een bestand openen, met als argument de bestandsnaam< [19:13] Alle inhoud van het bestand wordt gegeven met de functie read [19:13] Nadeel, bij grote bestanden neemt dit veel tijd en geheugen in beslag [19:14] We willen nu de inhoud ervan weergeven, bijvoorbeeld met print inhoud< [19:14] Is dat te vergelijken met een memoveld in een database? [19:15] Tweede script doet precies het tegenovergestelde, die schrijft ingevoerde tekst in een bestand [19:16] Totdat er een bepaalde tekenreeks, eof (end of file) wordt ingevoerd, maken we inhoud steeds groter [19:17] We vragen nu eerst dus de invoer, en als die gelijk is aan eof, dan wordt de loop gestopt, en in elke ander geval wordt input uitgebreid [19:17] elk [19:18] Die backslash n is een nieuwe regel [19:19] Hij opent nu een nieuw bestand, en daar geeft hij een extra argument aan, ´w´, en dat geeft aan dat je erin wilt kunnen schrijven [19:19] Met de functie write() kan je het argument inhoud schrijven [19:19] Vragen? [19:19] http://typewith.me/ep/pad/view/ro.$Psl3hgDage/latest [19:20] was de link met het lees en schrijf programma [19:20] Oké, we hebben voor vandaag wel weer genoeg behandeld [19:20] Het huiswerk is [19:21] Hij heeft daar een bestand dat gebruikt wordt door de friese vertalers [19:21] abort = ôfbrekke [19:21] Het hele bestand staat vol met dat soort regels [19:21] De opdracht is het bestand inlezen en dat in een dictionary zeggen [19:22] En dan zo een soort woordenboekding schrijven [19:22] Tips [19:22] ipv de functie read heb je ook de functie readlines [19:22] Die functie geeft een lijst terug met strings, elke regel in het bestand is een deel in de lijst [19:23] Dus 1 is abort, en 2 is het volgende woord [19:23] Nu wil je die twee woorden in een string uit elkaar halen [19:23] Daarvoor kan je de functie split gebruiken [19:24] Als argument geef je een string mee wat de twee delen deelt zegmaar, en dan geeft die functie een lijst terug [19:24] Met op 1 het eerste deel, en op 2 het eerste deel achter die string [19:25] En die lijst kun je dus als key value maken in een dictionary [19:25] Mogelijke uitbreiding [19:25] Als je een woord invoerd wat niet bestaat, krijg je een KeyError [19:25] Die kan je nu afvangen en er iets leuks mee doen [19:25] Vragen? [19:26] Ik wel [19:26] Spreek je Python echt uit als "Pieton"? [19:26] Zie 20 25 [19:26] kanaal is open FOAD [19:27] Complimenten voor iedereen behalve mijzelf. [19:27] volgende week? [19:27] Aw. :( [19:27] ok! [19:28] woordenlijst.txt moeten jullie trouwens nog wel hebben: [19:28] Och, ik verzin wel wat pseudo-Fries. [19:28] heel erg bedankt CasW_ en commandoline_ en StefandeVries !!!!! [19:28] Het kan alleen een verbetering zijn. [19:29] http://paste.ubuntu.com/594926/ === CasW is now known as undif [20:22] hoi === Flip|GONE is now known as FlipSton3 === FlipSton3 is now known as Flip|GONE