Skilpaddeskolen Nybegynner P ython Steg1:Flerefirkanter Sjekkliste ÅpneIDLE-editoren,ogåpneennyfilvedåtrykke File>NewFile ,oglaossbegynne. Huskatduskalhatovindueråpne.Deteneer'PythonShell'ogdetandreerforåskrivekodei. Somsistvildenførstelinjenalltidvære fromturtleimport* foråfortellePythonatviviltegnevedhjelpavskilpaddebiblioteket! fromturtleimport* forninrange(4): forward(100) right(90) Lagredetsomennyfil,ogkjørprogrammetframenyenvedåtrykke Run>RunModule . Huskat forninrange(4) gjentarkoden,ogatkodenmågrupperesmedmellomrom(innrykk)foråværeendelavforløkken.Bruktab(knappenrettovercapslock)foråflyttekode. Steg2:Forskjelligefirkanter Laossbrukevariablerforågjøreprogrammetvårtlettereåleseoglettereåendre,akkuratsomvigjordeiforrigemodul. Sjekkliste Endreprogrammetsådetserslikut: fromturtleimport* sides=4 length=100 angle=360/sides forninrange(sides): forward(length) right(angle) Kjørdetvedåtrykke Run>RunModule framenyen.Fårdudensammefirkantensomfør?Sjekkatdetvirkerførdugår videre. Detteeretlittlangtprogram,mennåkanviendredettilåtegnehvilkenfigurvivil.Problemeterbareatviernødttilåklippe oglimeprogrammetforåfådettil.Somtidligerekanviskrivekodeforåslippeågjentaossselv(programmerereanstrenger seggjernelittslikatdekanværelateetterpå!).Dennegangenskalvilageenfunksjon.Enfunksjonerenenkelmåteforå gjenbrukeenkodeblokk(elleroppskriftomduvil)mangeganger.Funksjonenfåretnavn,ogdettenavnetkanvisenerebruke. Steg3:Vilagerenfunksjon Sjekkliste Viendrerkodenogleggertil defpoly(): . def betyrdefiner,altsåålage.Passpåatkodenharriktiginnrykkogbrukden nyefunksjonen.Foråfåinnrykkpåflerelinjerkanmanmerkelinjeneogderettertrykketab(knappenrettovercapslock). Dersomduvilhamindreinnrykk,brukshift+tab. fromturtleimport* defpoly():#vilagerfunksjonen sides=4 length=100 angle=360/sides forninrange(sides): forward(length) right(angle) pencolor('red') poly()#vikallerpåfunksjonen right(180) poly() Kjørprogrammet.Hvisdetvirkerskaltorødefirkanterblitegnet. VispartelitttidvedålageennyfunksjoniPython,ognåkanvitegneenrødfirkanttoganger,utenåskrivehelegreiato ganger.Dennyefunksjonen poly() erfinforåslippeåskrivesåmye. Steg4:Hvorforstoppemedfirkanter? Vierikkeferdigeennå-hvamedåendrefunksjonensådenkantegnehvilkensomhelstform?Sommed forward og right ,kan visendeverdierinnifunksjonenistedenforåendrekodenhvergang. Sjekkliste Endrekodensådenserslikut: fromturtleimport* defpoly(sides,length): angle=360/sides forninrange(sides): forward(length) right(angle) pencolor('red') poly(4,100) right(180) pencolor('blue') poly(3,150) Kjørdenogsehvasomskjer. Laosstadettelittsakte,fordetteerganskekulegreier.Istedenforåbestemmevariableneifunksjonen,sierviat funksjonentarnoenverdiersomharnavn,ogsåbrukerviverdienedervitrengerdem. Viflyttetnoenverdierutavfunksjonen,ogflyttetdemtildendelenavkodensombrukerdem.Nåkanvi,medeneneste funksjon,tegnehvilkensomhelstform,medhvilkensomhelstfarge.Jegvetikkehvadutenker,mendetteimponerer meghvergangjegtenkerpådet:Vikanlæredatamaskinennyetriks,ogsåfådentilågjøretriksene. Åværeistandtilålagenyefunksjonersomkanoppføresegforskjelligbasertpåverdienevigirinneretavdekraftigste verktøyeneiprogrammering. Tips Ipythonfinnesdetfunksjoner,mensiandreprogrammeringsspråkfinnesdetogsånoesomblirkaltprosedyrer.Disse begrepenegårlittinnihverandre,sådeterikkesåfarligomdereikkeserforskjellen.Enfunksjonskalgjernereturnere noe,ogdenskalhelstikkegjørenoeannetennåregneutreturverdien.Itilleggburdefunksjonenalltidreturneredet sammenårdenfårsammeinnputt.Prosedyrerlignerveldigpåfunksjoner,mendefårlovtilåreturnereforskjelligeting avhengingavandretingenninnputt.Itilleggerdetlovforenprosedyreågjørenoeannetennåreturnerenoe.For eksempelkanenprosedyretegnepåskjermen.Ipythonerdetingenforskjellpåfunksjonerogprosedyrer,sådeter vanligåbarekallebeggedelerforfunksjoner. Steg5:Skilpaddestreker Sjekkliste Selvomskilpaddenerenlitenrobotsomkantegne,kandenogsåflyttesegutenåtegne.Huskatvikanbruke penup() og pendown() foråslåavogpåatskilpaddensetterspor.ÅpneennyPython-fil,ogskrivinnkodenunder: fromturtleimport* length=200 fornuminrange(8): forward(length/16) penup() forward(length/16) pendown() Detteprogrammettegnerenstipletlinjeoverskjermen.Kjørdetogsjekk! Steg6:Tegnefigurer Vikankoblefigur-programmetogstiplet-linje-programmetsammenvedåbytteutfunksjonen forward medkodenviharfor stipletelinjer.Vibrukerkodenforåtegnefigurerytterst,oginniderbrukervikodenforålagestipletelinjeristedenforhele streker. Sjekkliste Endrekodensådenserutsomfølgende: fromturtleimport* speed(11) shape("turtle") defdashpoly(sides,length): angle=360/sides forninrange(sides): fornuminrange(8): forward(length/16) penup() forward(length/16) pendown() right(angle) pencolor('red') dashpoly(4,100) right(180) pencolor('blue') dashpoly(3,150) Kjørkodenogsehvadengjør. Vihartofor-løkkerinnihverandre,enytreogenindre.Denytreløkken forninrange(sides) tegnerhverkantavfiguren, oghvergangkjørerdenindreløkken fornuminrange(8) somtegnerstipletelinjer. Denytreløkkenbrukervariabelen n foråholdestyrpåhvormangegangerdenhargjentattsegselv,ogdenindreløkken brukervariabelen num påtilsvarendemåte.Dumåbrukeforskjelligevariabelnavninniløkken,ellersroterdudetbaretil. Steg7:Byggeklosserforfigurer Sjekkliste Laossbrukefunksjonerigjenforåryddeoppikoden.Endrekodenfrasteg6oglaossdelekodenibiter. fromturtleimport* speed(11) shape("turtle") defdashforward(length): fornuminrange(8): forward(length/16) penup() forward(length/16) pendown() defdashpoly(sides,length): angle=360/sides forninrange(sides): dashforward(length) right(angle) pencolor('red') dashpoly(4,100) right(180) pencolor('blue') dashpoly(3,150) Kjørkodenogseatdengjørakkuratdetsammesomfør. Tips Trikseteratistedenforåbyggeprogrammervedåklippeoglime,kanvilagenyefunksjoneroggjenbrukedem.Dablir kodenkortereoglittlettereåforstå. Steg8:Litttilfeldigheter Hvaomvigjørlitttilfeldigesprellrettførvierferdige?Vikanbedatamaskinenvelgeettallfoross,ellervelgeenfargefoross, littsomomvikasterterning.Scratchkandetteogså,dabruktevi pick . Sjekkliste Iennyfil,skrivinnfølgende: fromturtleimport* fromrandomimportrandrange,choice colors=['red','blue','green'] defpoly(sides,length): angle=360/sides forninrange(sides): forward(length) right(angle) forcountinrange(10): pencolor(choice(colors)) right(randrange(0,360)) poly(randrange(3,9),randrange(10,30)) Lagreogkjørkoden Programmetskaltegnetifigureriforskjelligefargermedforskjelligstørrelse.Linjen fromrandomimportrandrange,random henterinnfunksjonene randrange() og choice() . randrange() plukkerutettallmellomdetlavesteogdethøyestetalletvigirinn,så randrange(1,10) velgerettallmellom 1og9(Pythonbegynnermed1,ogstopperrettfør10). choice() velgerentingfralistenvigirinn.Enlisteerensamlingavverdier,foreksempel [1,2,3] .Ikodenovenforbruker vilisten colors ,somharverdiene 'red' , 'blue' ,and 'green' . Vedåbruke choice() og randrange() kanvibedatamaskinenomåvelgefarge,størrelseogformfoross,ogdet kommertilåbliforskjelligresultatnestenhverenestegangdukjørerprogrammet. Fleretingåprøve Hvamedåprøveflerefarger,elleråendretallene?Hvaskjer? Lisens: CodeClubWorldLimitedTermsofService Forfatter: OversattfraCodeClubUK Oversetter: BjørnEinarBjartnes
© Copyright 2024