From marcs at ziggo.nl Mon Jul 2 15:45:41 2018 From: marcs at ziggo.nl (Marc Stevens) Date: Mon, 2 Jul 2018 21:45:41 +0200 Subject: [python-nl] Classes, sef en input Message-ID: Geachte Heer/Mevrouw, Ik heb heel internet af ge-googled maar niet veel kunnen vinden over ?self? in combinatie met ?input?. Dat laatste ?input? wordt bijna niet behandeld. Hoe zou U het volgende programmaatje corrigeren in een werkend programma: class ClassName: def __init__ (self): self.name=name name=input(?geef je naam in?) naam= ClassName print naam Alvast bedankt, Marc Stevens. -------------- next part -------------- An HTML attachment was scrubbed... URL: From reinoud.v at n.leeuwen.net Mon Jul 2 16:18:48 2018 From: reinoud.v at n.leeuwen.net (Reinoud van Leeuwen) Date: Mon, 2 Jul 2018 22:18:48 +0200 Subject: [python-nl] Classes, sef en input In-Reply-To: References: Message-ID: <4F352EDD-4EF1-483A-87AF-98EC95B842F7@n.leeuwen.net> Er gaan hier een paar dingen fout: > On 2 Jul 2018, at 21:45, Marc Stevens wrote: > > Geachte Heer/Mevrouw, > > > > Ik heb heel internet af ge-googled maar niet veel kunnen vinden over ?self? in combinatie met ?input?. > Dat laatste ?input? wordt bijna niet behandeld. > Hoe zou U het volgende programmaatje corrigeren in een werkend programma: > > class ClassName: > def __init__ (self): > self.name=name Waar moet name op deze plek vandaan komen? Als het geen lokale variabele is zou het een argument van de functie __init__ moeten zijn > name=input(?geef je naam in?) > > naam= ClassName hier mis ik een paar haakjes: naam=ClassName() maar verder: de naam is iets dat *binnen* de class zit. Dus die wil je eruit halen Dit is een werkende oplossing: #!/usr/bin/env python class ClassName: def __init__ (self): name = raw_input('geef je naam in') self.name = name mijnclassvar = ClassName() print mijnclassvar.name Het kan allemaal nog een stuk mooier, maar dit is de essentie Reinoud -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: Message signed with OpenPGP URL: From johnnydebris at gmail.com Tue Jul 3 05:19:23 2018 From: johnnydebris at gmail.com (Guido Wesdorp) Date: Tue, 3 Jul 2018 11:19:23 +0200 Subject: [python-nl] Classes, sef en input In-Reply-To: References: Message-ID: Beste Marc, Je hebt in jouw geval helemaal geen class nodig, in Python hoeft een programma geen class te zijn, je zou het volgende al in een bestandje kunnen zetten en uitvoeren: print(input('geef je naam in: ')) De functie 'input' vraagt om user input, de functie 'print' voert die input vervolgens aan stdout (de console, zeg maar). Als je wilt, kun je de waarde ook eerst in een variabele opslaan: name = input('geef je naam in: ') print(name) Of er een functie van maken om het makkelijker meerdere keren aan te roepen: def print_naam(): name = input('geef je naam in: ') print(name) print_naam() Pas als je meerdere functies hebt die ook nog data delen worden classes interessant. Groeten, Guido On Mon, 2 Jul 2018, 22:02 Marc Stevens, wrote: > Geachte Heer/Mevrouw, > > > > Ik heb heel internet af ge-googled maar niet veel kunnen vinden > over ?self? in combinatie met ?input?. > Dat laatste ?input? wordt bijna niet behandeld. > Hoe zou U het volgende programmaatje corrigeren in een werkend programma: > > class ClassName: > def __init__ (self): > self.name=name > name=input(?geef je naam in?) > > naam= ClassName > print naam > > > Alvast bedankt, > Marc Stevens. > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl > -------------- next part -------------- An HTML attachment was scrubbed... URL: From marcs at ziggo.nl Tue Jul 3 13:56:15 2018 From: marcs at ziggo.nl (Marc Stevens) Date: Tue, 3 Jul 2018 19:56:15 +0200 Subject: [python-nl] Functies Message-ID: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> Hoi allemaal, Misschien is het onzinnig en simplistisch, maar ik vroeg me af of variabelen binnen een functie kunnen worden overgeheveld naar een tweede of volgende functie? Ik heb dit simpel programmaatje geschreven, waarvan ik denk dat ik dat probleem ooit een tegen zal komen in een groter programma. def functie_een(x): print(x) def functie_twee(x): y=x+3 print y functie_een(10) functie_twee(x) -------------- next part -------------- An HTML attachment was scrubbed... URL: From vm at klankschap.nl Tue Jul 3 14:49:54 2018 From: vm at klankschap.nl (Floris van Manen) Date: Tue, 3 Jul 2018 20:49:54 +0200 Subject: [python-nl] Functies In-Reply-To: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> References: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> Message-ID: > On 3 Jul 2018, at 19:56, Marc Stevens wrote: > > Hoi allemaal, > > Misschien is het onzinnig en simplistisch, maar ik vroeg me af of variabelen binnen een functie kunnen worden overgeheveld naar een tweede of volgende functie? > Ik heb dit simpel programmaatje geschreven, waarvan ik denk dat ik dat probleem ooit een tegen zal komen in een groter programma. > > def functie_een(x): > print(x) > def functie_twee(x): > y=x+3 > print y > > functie_een(10) > functie_twee(x) > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl lokale variabelen bestaan alleen lokaal def functie_een(x): print(x) def functie_twee(x): y = x + 3 print y x = 20 functie_een(10) functie_twee(x) 10 23 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: Message signed with OpenPGP using GPGMail URL: From douwe at karibu-online.nl Tue Jul 3 14:57:25 2018 From: douwe at karibu-online.nl (Douwe van der Meij) Date: Tue, 3 Jul 2018 20:57:25 +0200 Subject: [python-nl] Functies In-Reply-To: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> References: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> Message-ID: Misschien handig om bij het begin te beginnen: https://www.packtpub.com/application-development/learn-python-programming-second-edition w: www.karibu-online.nl m: 06 5060 4033 Op 3 juli 2018 om 19:56 schreef Marc Stevens : > Hoi allemaal, > > Misschien is het onzinnig en simplistisch, maar ik vroeg me af of > variabelen binnen een functie kunnen worden overgeheveld naar een tweede > of volgende functie? > Ik heb dit simpel programmaatje geschreven, waarvan ik denk dat ik dat > probleem ooit een tegen zal komen in een groter programma. > > def functie_een(x): > print(x) > def functie_twee(x): > y=x+3 > print y > > functie_een(10) > functie_twee(x) > > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From motoom at xs4all.nl Tue Jul 3 17:20:44 2018 From: motoom at xs4all.nl (Michiel Overtoom) Date: Tue, 3 Jul 2018 23:20:44 +0200 Subject: [python-nl] Functies In-Reply-To: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> References: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> Message-ID: Hoi Marc, > Misschien is het onzinnig en simplistisch, maar ik vroeg me af of variabelen binnen een functie kunnen worden overgeheveld naar een tweede of volgende functie? Nee, dat kan niet. Een bepaalde functie kan niet in de variabelen van een andere functie kijken. Programma's zouden snel een onbeheersbare wanboel worden als functies zomaar variabelen in andere functies konden overschrijven! Je kunt wel *waarden* van variabelen 'overhevelen' van de ene functie naar de andere, maar met 'overhevelen' zou dan bedoeld worden dat een tweede functie het resultaat van een eerste functie verder verwerkt. Stel je hebt een functie die een temperatuur in Fahrenheit omrekent naar Celcius. En je hebt een andere functie die een temperatuur (in Celcius) beoordeelt of het geschikt is als temperatuur voor badwater: def fahrenheit_to_celcius(x): return (x - 32.0) * (5.0 / 9.0) def badwater_oordeel(temp): if temp < 37: return "Het badwater is te koud" elif temp > 39: return "Het badwater is te warm" else: return "Het badwater is goed" Die zou je dan als volgt kunnen combineren: f = 100 c = fahrenheit_to_celcius(f) print badwater_oordeel(c) De functie 'badwater' borduurt verder op wat de functie 'fahrenheit_to_celcius' opleverde. Je zou kunnen zeggen dat de temperatuur in celcius 'overgeheveld' is ;-) Groets, -- "There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors." - Jeff Atwood From janripke at gmail.com Wed Jul 4 02:36:41 2018 From: janripke at gmail.com (Jan Ripke) Date: Wed, 4 Jul 2018 08:36:41 +0200 Subject: [python-nl] Functies In-Reply-To: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> References: <2F71E215-E7B3-4171-86D1-BA96BF26F1AB@ziggo.nl> Message-ID: Misschien een flauw antwoord, maar daar voor zijn functies verzonnen die een waarde teruggeven. Op deze manier kun je het resultaat van de ene functie doorgeven aan de andere functie en houdt je nog belangrijker de boel gestructureerd Vervang je laatste print statements door return y en je geeft waarden terug. Op di 3 jul. 2018 20:17 schreef Marc Stevens : > Hoi allemaal, > > Misschien is het onzinnig en simplistisch, maar ik vroeg me af of > variabelen binnen een functie kunnen worden overgeheveld naar een tweede > of volgende functie? > Ik heb dit simpel programmaatje geschreven, waarvan ik denk dat ik dat > probleem ooit een tegen zal komen in een groter programma. > > def functie_een(x): > print(x) > def functie_twee(x): > y=x+3 > print y > > functie_een(10) > functie_twee(x) > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl > -------------- next part -------------- An HTML attachment was scrubbed... URL: From marcs at ziggo.nl Tue Jul 10 03:44:58 2018 From: marcs at ziggo.nl (Marc Stevens) Date: Tue, 10 Jul 2018 09:44:58 +0200 Subject: [python-nl] Overhevelen Message-ID: <178E04E0-B14D-4048-9DBD-B4C4C39DE89F@ziggo.nl> Hoi allemaal, Ik heb in onderstaand programmaatje p proberen over te hevelen naar de functie uitvoer. Is dit gewoon niet mogelijk of zijn er alternatieven? def stelling(): p=math.pi print p return p def uitvoer(omtrek): omtrek=p*d print omtrek return omtrek d=4 stelling() uitvoer(d) From marcs at ziggo.nl Tue Jul 10 03:47:10 2018 From: marcs at ziggo.nl (Marc Stevens) Date: Tue, 10 Jul 2018 09:47:10 +0200 Subject: [python-nl] Overhevelen In-Reply-To: <178E04E0-B14D-4048-9DBD-B4C4C39DE89F@ziggo.nl> References: <178E04E0-B14D-4048-9DBD-B4C4C39DE89F@ziggo.nl> Message-ID: <13A2DABE-64C0-4C6F-BC4D-6ABD0DE1FC92@ziggo.nl> Ik ben vergeten import math erboven te typen. > Op 10 jul. 2018, om 09:44 heeft Marc Stevens het volgende geschreven: > > Hoi allemaal, > > Ik heb in onderstaand programmaatje p proberen over te hevelen naar de functie uitvoer. > Is dit gewoon niet mogelijk of zijn er alternatieven? > > > > > > > > > > def stelling(): > p=math.pi > print p > return p > > def uitvoer(omtrek): > omtrek=p*d > print omtrek > return omtrek > > d=4 > > > stelling() > uitvoer(d) > From ronaldoussoren at mac.com Tue Jul 10 03:55:30 2018 From: ronaldoussoren at mac.com (Ronald Oussoren) Date: Tue, 10 Jul 2018 09:55:30 +0200 Subject: [python-nl] Overhevelen In-Reply-To: <178E04E0-B14D-4048-9DBD-B4C4C39DE89F@ziggo.nl> References: <178E04E0-B14D-4048-9DBD-B4C4C39DE89F@ziggo.nl> Message-ID: <667AF741-30A3-427A-85FF-3E495B1C77B5@mac.com> > On 10 Jul 2018, at 09:44, Marc Stevens wrote: > > Hoi allemaal, > > Ik heb in onderstaand programmaatje p proberen over te hevelen naar de functie uitvoer. > Is dit gewoon niet mogelijk of zijn er alternatieven? Wat probeer je precies te doen? > > > > def stelling(): > p=math.pi Dit statement maakt ?p? een lokale variabele tijdens het uitvoeren van ?stelling?. De variabele is alleen te gebruiken door de code in ?stelling? > print p > return p > > def uitvoer(omtrek): > omtrek=p*d Zelfde als bij ?p? hierboven: ?omtrek? is nu een lokale variabele die door de code in ?uitvoer? gebruikt kan worden. De code zal een fout geven omdat ?p? niet bestaat, ?p? is geen lokale variabele en ook geen globale variabele in het script (wat ?d? wel is). > print omtrek > return omtrek > > d=4 > > > stelling() Om het probleem met ?p? in ?uitvoer? te voorkomen kan je twee dingen doen: 1) ?p = stelling()? ipv. alleen ?stelling()? om de waarde in het return statement te bewaren 2) Verwijder ?stelling? en neem de code in ?stelling? op als globale code (zoals je al doet voor de definitie van ?d?) > uitvoer(d) Ik raad je aan om ook te kijken naar een online python tutorial, zoals >. Dat gaat je helpen om de concepten sneller te snappen. Ronald > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl -------------- next part -------------- An HTML attachment was scrubbed... URL: From marcs at ziggo.nl Tue Jul 17 19:03:56 2018 From: marcs at ziggo.nl (Marc Stevens) Date: Wed, 18 Jul 2018 01:03:56 +0200 Subject: [python-nl] tkinter Message-ID: <9ABDFC91-D089-493B-9B03-F5F158ACF448@ziggo.nl> Hallo allemaal, Ik ben door de ?time? functie in python ge?nspireerd om daar ook iets mee te doen. Aldoende kwam ik op het idee om een klok te maken, maar na veel stoeien kwam ik er achter dat dat al bestond, zowel digitaal als analoog. Het digitale klokje heeft me aan het denken gezet. Zo ben ik uitgekomen bij Tkinter. Om klein te beginnen heb ik uit een online cursus van een zekere ?Bucky Roberts? het volgend programma overgenomen: Alleen 1 maal raden: het werkt niet. Het gaat in de eerste regel reeds fout, maar dat wil niet zeggen dat het hele programma niet deugd. Ik heb op internet gelezen dat het nauw komt met de hoofd en kleine letters bij Tk en tk in de eerste regels. Hebben jullie een oplossing? Ik ben zelf zowat alle mogelijke combinaties afgegaan, zonder resultaat. Maar het zit hem in de eerste twee regels denk ik. Alvast bedankt, groetjes Marc Stevens. import tkinter as tk root=tk.Tk() def leftClick(event): print('left') def middleClick(event): print('middle') def rightClick(event): print('right') button_1=Button(root, text="click hier") button_1.pack() frame=Frame(root, width=300, height=250) frame.bind("",leftClick) frame.bind("",middleClick) frame.bind("",rightClick) root.mainloop() From marcs at ziggo.nl Tue Jul 17 19:46:17 2018 From: marcs at ziggo.nl (Marc Stevens) Date: Wed, 18 Jul 2018 01:46:17 +0200 Subject: [python-nl] tkinter In-Reply-To: <9ABDFC91-D089-493B-9B03-F5F158ACF448@ziggo.nl> References: <9ABDFC91-D089-493B-9B03-F5F158ACF448@ziggo.nl> Message-ID: <07F08C3A-FBAE-4B8E-A86F-FEB18963F618@ziggo.nl> Ik heb het zelf al opgelost. Had het slordig overgenomen. mijn excuses voor het ongemak. Gr. Marc. > Op 18 jul. 2018, om 01:03 heeft Marc Stevens het volgende geschreven: > > Hallo allemaal, > > Ik ben door de ?time? functie in python ge?nspireerd om daar ook iets mee te doen. > Aldoende kwam ik op het idee om een klok te maken, maar na veel stoeien kwam ik er achter dat dat al bestond, zowel digitaal als analoog. > Het digitale klokje heeft me aan het denken gezet. Zo ben ik uitgekomen bij Tkinter. > Om klein te beginnen heb ik uit een online cursus van een zekere ?Bucky Roberts? het volgend programma overgenomen: > Alleen 1 maal raden: het werkt niet. > Het gaat in de eerste regel reeds fout, maar dat wil niet zeggen dat het hele programma niet deugd. > Ik heb op internet gelezen dat het nauw komt met de hoofd en kleine letters bij Tk en tk in de eerste regels. > Hebben jullie een oplossing? Ik ben zelf zowat alle mogelijke combinaties afgegaan, zonder resultaat. Maar het zit hem in de eerste twee regels denk ik. > > Alvast bedankt, > groetjes Marc Stevens. > > > > > > > > > > > > > import tkinter as tk > > root=tk.Tk() > > def leftClick(event): > print('left') > > def middleClick(event): > print('middle') > > def rightClick(event): > print('right') > > > button_1=Button(root, text="click hier") > button_1.pack() > > frame=Frame(root, width=300, height=250) > frame.bind("",leftClick) > frame.bind("",middleClick) > frame.bind("",rightClick) > > root.mainloop() > > _______________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl -------------- next part -------------- An HTML attachment was scrubbed... URL: From stommepoes at stommepoes.nl Thu Jul 19 12:47:55 2018 From: stommepoes at stommepoes.nl (Mallory) Date: Thu, 19 Jul 2018 18:47:55 +0200 Subject: [python-nl] tkinter In-Reply-To: <07F08C3A-FBAE-4B8E-A86F-FEB18963F618@ziggo.nl> References: <9ABDFC91-D089-493B-9B03-F5F158ACF448@ziggo.nl> <07F08C3A-FBAE-4B8E-A86F-FEB18963F618@ziggo.nl> Message-ID: <1532018875.1584498.1446339328.5585684E@webmail.messagingengine.com> Soms is een mailing list gewoon een rubber duck :P On Wed, Jul 18, 2018, at 1:46 AM, Marc Stevens wrote: > *Ik heb het zelf al opgelost.* > *Had het slordig overgenomen.* > *mijn excuses voor het ongemak.* > *Gr. Marc. * > >> Op 18 jul. 2018, om 01:03 heeft Marc Stevens het >> volgende geschreven:>> >> Hallo allemaal, >> >> Ik ben door de ?time? functie in python ge?nspireerd om daar ook iets >> mee te doen.>> Aldoende kwam ik op het idee om een klok te maken, maar na veel >> stoeien kwam ik er achter dat dat al bestond, zowel digitaal als >> analoog.>> Het digitale klokje heeft me aan het denken gezet. Zo ben ik >> uitgekomen bij Tkinter.>> Om klein te beginnen heb ik uit een online cursus van een zekere >> ?Bucky Roberts? het volgend programma overgenomen:>> Alleen 1 maal raden: het werkt niet. >> Het gaat in de eerste regel reeds fout, maar dat wil niet zeggen dat >> het hele programma niet deugd.>> Ik heb op internet gelezen dat het nauw komt met de hoofd en kleine >> letters bij Tk en tk in de eerste regels.>> Hebben jullie een oplossing? Ik ben zelf zowat alle mogelijke >> combinaties afgegaan, zonder resultaat. Maar het zit hem in de >> eerste twee regels denk ik.>> >> Alvast bedankt, >> groetjes Marc Stevens. >> >> >> >> >> >> >> >> >> >> >> >> >> import tkinter as tk >> >> root=tk.Tk() >> >> def leftClick(event): >> print('left') >> >> def middleClick(event): >> print('middle') >> >> def rightClick(event): >> print('right') >> >> >> button_1=Button(root, text="click hier") >> button_1.pack() >> >> frame=Frame(root, width=300, height=250) >> frame.bind("",leftClick) >> frame.bind("",middleClick) >> frame.bind("",rightClick) >> >> root.mainloop() >> >> _______________________________________________ >> Python-nl mailing list >> Python-nl at python.org >> https://mail.python.org/mailman/listinfo/python-nl > _________________________________________________ > Python-nl mailing list > Python-nl at python.org > https://mail.python.org/mailman/listinfo/python-nl -------------- next part -------------- An HTML attachment was scrubbed... URL: