/srv/irclogs.ubuntu.com/2011/04/16/#ubuntu-nl-klas.txt

=== hp is now known as GOMI
Felix__hoi09:58
hajourhi all14:08
hajourrelog14:10
=== 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
leoquantStefandeVries, EN commandoline_ alles staat goed hier18:30
StefandeVriesdank je, leoquant18:31
commandoline_goed, welkom allemaal18:31
commandoline_we hebben vandaag de les wat anders geregeld18:32
commandoline_want ik ben vandaag op de Ubuntu Jam in Burgum18:32
commandoline_dat betekend dat we de les vandaag via een videostream doen18:32
commandoline_http://www.livestream.com/ubuntufryslan18:32
commandoline_daarnaast zal StefandeVries zoals altijd vragen beantwoorden in #ubuntu-nl-mwanzo18:32
commandoline_en CasW zal hier een samenvatting maken van wat ik zeg18:33
commandoline_kan iedereen me zien?18:33
leoquantja18:33
leoquantloud and clear18:34
leoquant<hannie> ja hoor, spannend18:34
commandoline_:)18:34
leoquantiedereen hoort je18:34
leoquantRawChid> Je bent verstaanbaar hier18:34
leoquantpeewee22> goed te horen18:34
CasW_Het huiswerk staat hier http://paste.ubuntu.com/594909/18:38
leoquant<hannie> nee, ik zie niets op het scherm18:38
CasW_Zie je wel iets in de terminal? En heb je python-qt4 geínstalleerd?18:39
leoquantCasW, het probleem is visueel, klun je meeschrijven?18:41
CasW_Hij heeft nu het programma geschreven (ik zou het samenvatten, dat is waar ook)18:41
CasW_Hij heeft nu de volgende instructies gegeven, naar voren gaan een paar keer tot het einde en dan naar rechts draaien en richting de uitgang18:42
leoquantfallure hier18:42
CasW_Het is mogelijk om ook een programma te schrijven om alle levels automatisch op te lossen, dat hebben Marten en ik geschreven18:42
CasW_Het staat hier:http://paste.ubuntu.com/594911/18:44
CasW_Marten is nu de run-functie aan het beschrijven, en de functie run is het meest belangrijk<18:45
CasW_Die kijkt eerst of er een uitgang in de buurt is, zo ja, dan gaat hij daarnaartoe18:45
CasW_Daarna zoekt hij voor de steen, daarna voor lege ruimte18:45
CasW_We gaan nu door met de stof van vandaag18:46
CasW_Hij wil jullie vandaag de ´exceptions´ laten zien18:46
CasW_Jullie hebben het al laten zien, hij pakt nu weer de rekenmachine ervoor18:46
CasW_Jullie hebben toen gevraagt wat er gebeurt als je iets bijvoorbeeld door 0 deelt18:47
CasW_Dan krijg je een exception18:47
CasW_Normaal gesproken zie je dat die wordt gegooid, zoals dat heet, maar dat hoeft niet18:47
CasW_Je kunt ze ook ´afvangen´18:47
CasW_Hij gaat dat nu doen18:48
CasW_(typwith.me-link komt eraan)18:48
commandoline_http://typewith.me/ep/pad/view/ro.Muc6jvLcxm8/latest18:49
CasW_typewith.me-ep-pad-view-ro.Muc6jvi.cxm8-latest18:49
CasW_Die exception kan je afvangen in een zogenaamd codeblok18:52
CasW_Dan kan je bijvoorbeeld ipv de error een eigen stuk tekst weergeven18:52
CasW_Met het sleutelwoord continue kan je dan weer ´opnieuw beginnen´18:53
CasW_Hij heeft nu de code makkelijker gemaakt18:53
CasW_Als jullie dit programma draaien, dan zal je merken dat het programma blijft draaien als je iets verkeerds invoert18:54
CasW_Wat hem natuurlijk een stuk stabieler maakt18:54
CasW_Vragen18:54
CasW_Geen vragen18:55
CasW_Dan gaan we verder met het volgende onderwerp18:55
CasW_We hebben nu de exception afgevangen18:55
CasW_Nu vangen we alle exceptions af, omdat we alleen except hebben ingetypt18:56
CasW_Maar dat wil je soms niet18:56
CasW_Je kunt ook maar één exception afvangen18:56
CasW_Dat zal hij je nu laten zien18:56
CasW_Bij bijvoorbeeld regel 46 kan je door 0 delen18:57
CasW_En dat kan niet, dan krijg je een ZeroDivisionError18:57
CasW_Om die af te vangen, doe je ipv except except ZeroDivisionError18:58
CasW_Nu kan je dus doorgaan als dat het geval is18:58
CasW_Oftewel je kan alle fouten afvangen met except (niet aangeraden) of maar één fout met except ErrorNaam18:59
CasW_Nu moeten jullie weer python in een terminal opstarten18:59
CasW_Wat je kan doen, is dat je een lijst hebt18:59
CasW_En dan kan je een niet bestaand item erin aanroepen (achter het einde)19:00
CasW_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:00
CasW_En dan kan je dus eigen foutmeldingen maken19:01
CasW_(Of er iets anders mee doen)19:01
CasW_Vragen?19:02
CasW_Je kan eigen exceptions maken (dus een ´eigen IndexError´)19:02
CasW_Bijvoorbeeld als je een eigen object hebt en je doet daar iets mee wat niet mag (niet wat Marten zegt`)19:03
CasW_Dan kan je je eigen exception gooien19:03
CasW_Nu gaan we laten zien hoe19:03
CasW_Bijvoorbeeld±19:03
CasW_class NotFoundError(exception)19:04
CasW_Hij erft dus exception19:04
CasW_En hier hoef je niets te doen, dus dan zet je pass (doet niets)19:04
CasW_En nu kan je dus deze exceptions opgooien en afvangen19:05
leoquant<FOAD> Exceptions zijn classes?19:05
CasW_Met het sleutelwoord raise kan je dan die exception opgooien19:05
CasW_Ja19:05
leoquantok19:05
CasW_Oftewel raise NotFoundError()19:05
leoquant<hannie> Bestaat er een lijst met foutmeldingen?19:05
CasW_(je maakt een instantie aan van NotFoundError)19:06
CasW_Er wordt in de references wel gezegd welke exceptions er gegeven kunnen worden, ja19:06
CasW_Nu wordt er weergegeven hoe je die dus kan afvangen19:06
CasW_Vragen?19:07
commandoline_http://paste.ubuntu.com/594921/19:07
CasW_Daar staat de net ingetypte code19:07
CasW_Oftewel er komt altijd ´het derde item kan niet worden opgevraagd´ te staan, ook al roep je het 4e aan19:09
CasW_Het volgende onderwerp is bestandsbeheer19:09
CasW_Weer een typewith.me komt eraan19:10
commandoline_http://typewith.me/ep/pad/view/ro.$Psl3hgDage/latest19:11
CasW_Wat hij nu wil doen is dat hij ervan uitgaat dat er een bestand is, en dan gaan wij de inhoud weergeven19:12
CasW_We hebben dus eerst een bestandsnaam nodig (rawinput)19:12
CasW_Sorry voor de verkeerde naam, vreemde toetsenbordinstelling hier19:12
CasW_Met de ingebouwde openfunctie kan je een bestand openen, met als argument de bestandsnaam<19:13
CasW_Alle inhoud van het bestand wordt gegeven met de functie read19:13
CasW_Nadeel, bij grote bestanden neemt dit veel tijd en geheugen in beslag19:13
CasW_We willen nu de inhoud ervan weergeven, bijvoorbeeld met print inhoud<19:14
leoquant<hannie>  Is dat te vergelijken met een memoveld in een database?19:14
CasW_Tweede script doet precies het tegenovergestelde, die schrijft ingevoerde tekst in een bestand19:15
CasW_Totdat er een bepaalde tekenreeks, eof (end of file) wordt ingevoerd, maken we inhoud steeds groter19:16
CasW_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 uitgebreid19:17
CasW_elk19:17
CasW_Die backslash n is een nieuwe regel19:18
CasW_Hij opent nu een nieuw bestand, en daar geeft hij een extra argument aan, ´w´, en dat geeft aan dat je erin wilt kunnen schrijven19:19
CasW_Met de functie write() kan je het argument inhoud schrijven19:19
CasW_Vragen?19:19
commandoline_http://typewith.me/ep/pad/view/ro.$Psl3hgDage/latest19:19
commandoline_was de link met het lees en schrijf programma19:20
CasW_Oké, we hebben voor vandaag wel weer genoeg behandeld19:20
CasW_Het huiswerk is19:20
CasW_Hij heeft daar een bestand dat gebruikt wordt door de friese vertalers19:21
commandoline_abort = ôfbrekke19:21
CasW_Het hele bestand staat vol met dat soort regels19:21
CasW_De opdracht is het bestand inlezen en dat in een dictionary zeggen19:21
CasW_En dan zo een soort woordenboekding schrijven19:22
CasW_Tips19:22
CasW_ipv de functie read heb je ook de functie readlines19:22
CasW_Die functie geeft een lijst terug met strings, elke regel in het bestand is een deel in de lijst19:22
CasW_Dus 1 is abort, en 2 is het volgende woord19:23
CasW_Nu wil je die twee woorden in een string uit elkaar halen19:23
CasW_Daarvoor kan je de functie split gebruiken19:23
CasW_Als argument geef je een string mee wat de twee delen deelt zegmaar, en dan geeft die functie een lijst terug19:24
CasW_Met op 1 het eerste deel, en op 2 het eerste deel achter die string19:24
CasW_En die lijst kun je dus als key value maken in een dictionary19:25
CasW_Mogelijke uitbreiding19:25
CasW_Als je een woord invoerd wat niet bestaat, krijg je een KeyError19:25
CasW_Die kan je nu afvangen en er iets leuks mee doen19:25
CasW_Vragen?19:25
CasW_Ik wel19:26
leoquant<FOAD> Spreek je Python echt uit als "Pieton"?19:26
CasW_Zie 20 2519:26
leoquantkanaal is open FOAD19:26
FOADComplimenten voor iedereen behalve mijzelf.19:27
leoquantvolgende week?19:27
FOADAw. :(19:27
leoquantok!19:27
commandoline_woordenlijst.txt moeten jullie trouwens nog wel hebben:19:28
FOADOch, ik verzin wel wat pseudo-Fries.19:28
leoquantheel erg bedankt CasW_ en commandoline_ en StefandeVries !!!!!19:28
FOADHet kan alleen een verbetering zijn.19:28
commandoline_http://paste.ubuntu.com/594926/19:29
=== CasW is now known as undif
fbruin_hoi20:22
=== Flip|GONE is now known as FlipSton3
=== FlipSton3 is now known as Flip|GONE

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!