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