Transcript Opgave
OEFENINGENPYTHON–REEKS3 Vraag1:Keuzesmaken Door middel van een ‘IF … ELIF … ELSE …’ structuur kan je de uitvoering van je programma laten afhangenvanbepaaldevoorwaardendiejenagaat. Schrijfeenfunctiedieteruggeeftofeenbepaaldjaartaleenschrikkeljaarisofniet,waarbijdefunctie hetingegevenjaartalinspecteertenteruggeeftwelkesoortjaartalhetis,aandehandvanvolgende tabel: Soort1 Soort2 Soort3 Soort4 Geenschrikkeljaar:nietdeelbaardoor4 Welschrikkeljaar:deelbaardoor4maarnietdoor100 Geenschrikkeljaar:deelbaardoor100maarnietdoor400 Welschrikkeljaar:deelbaardoor400 Vraag2:Iteraties Een ‘FOR’ lus laat je toe een bepaald stuk code in je programma een bepaald aantal keren uit te voeren. a) Maak een functie waaraan je kunt meegeven hoeveel keer het woordje ‘bla’ moet worden geprint.WerkdezekeerNIETmetde‘*’of‘+’bewerkingenopstrings. Bla Bla Bla … b) Maakeenfunctiediedevolgendepijlophetschermprint: . .. ... .... ... .. . Zorg ervoor dat je de grootte van de pijl (in het voorbeeld is dit 4) aan de functie kunt meegeven. EXTRA:losdezevraagopzonderde‘*’bewerkingtegebruiken! Soms weet je niet op voorhand hoeveel iteraties je juist nodig hebt. In dat geval kan je gebruik makenvaneen‘WHILE’lus.Deluststoptpasvanaferaaneenbepaaldevoorwaardenietmeerwordt voldaan. c) Maaknueenfunctie‘mijn_deling’waaraanjeeendeeltaleneendelerkuntmeegeven.De functie zal dan het quotiënt en de rest van de gehele deling weergeven. Gebruik enkel de operatoren‘+’en‘-‘voorjeberekeningen! Vraag3:Iteratiesoverlijsten Indienjemetlijstenwerktzaljezeervaakeenbewerkingmoetendoenwaarbijjealle(ofeendeel van de) elementen uit de lijst moet afgaan. Dit kan je in Python gemakkelijk uitdrukken door een ‘FOR’lusteschrijvendieitereertoverdiebepaaldelijst. a) Wiskundigebewerkingenmetlijsten 1. Maak een functie die een lijst aanmaakt waarbij de elementen de opeenvolgende machtenvan -2uitdrukken.GebruikhiervoorNIETde‘**’operator.Aandefunctie kanjemeegevenhoeveelelementenjeverwachttekrijgen. 2. Maakeenfunctiediehetgemiddeldevaneenlijstberekententeruggeeft.Gebruik dezefunctiesomhetgemiddeldevandeeerste15machtenvan-2teberekenen. b) Maakeenfunctiedieeengegevenlijstomkeert(hetlaatsteelementwordtheteersteetc.). Implementeerdezefunctiedoordewaardenvandeinputlijsttekopiërenineennieuwelijst. MaakGEENgebruikvandelist.reverse()methode! c) Zelfdeopdrachtalsinb),dezekeermaakjeechtergeennieuwelijstaanenpasjegewoonde originelelijstaan. d) Maak een functie waaraan je een string meegeeft. De functie zal dan teruggeven of deze stringaldannieteenpalindroomis(eenwoorddatjekuntomkerenentochhetzelfdeblijft, zoals‘lepel’of‘koortsmeetsysteemstrook’). Vraag4:Interpoleren Kopieerdevolgendelijncode,waarineenlijstywordtgedefinieerd,naareennieuwwerkschrift. y=[10,0,100,0,200,0,300,0,233,0,166,0,140,0,166,0,233,0,300,0,200,0,100,0,12] a) Maakeenlijstxdieevengrootisalsyenvuldiemetdeveelvoudenvan15waarbijje100 optelt. b) Bij de lijst y zijn de waarden op de oneven indexen gelijk aan 0. Herbereken deze door interpolatie (i.e. neem het gemiddelde van de 2 aanliggende waarden). M.a.w. […,400,0,560,…]wordt[…,400,480,560,…]. Vraag5:Geavanceerdeoefeningen a) Schrijf een functie die teruggeeft of een getal een priemgetal is, gebruik deze dan in een functiedieeenlijstteruggeeftvanallepriemgetallentotaaneenzekergetaldatjeerzelf aanmeegeeft. b) Schrijf een functie die nagaat of een getal een perfect of volmaakt getal is. Een perfect of volmaaktgetalisgedefineerdalseennatuurlijkgetalwaarvandesomvandedelersgelijkis aanhetgetalzelf.Bijdedelerswordnatuurlijkhetgetalzelfuitgesloten. Tweevoorbeelden: 6 Delers:1,2,3(,6) Somvandedelers:1+2+3=6 28 Delers:1,2,4,7,14(,28) Somvandedelers:1+2+4+7+14=28 c) Schrijfeenfunctiediedesomvandegetallenineenlijstteruggeeft.Behalvewanneerereen 8indelijststaat,danmagzowelhetgetalzelfnietmeetellenalshetgetaldaternakomt. d) Schrijf een functie die de som van de getlalen in een lijst terugeeft. Behalve als het eerste elementeen0is,danmaghetenkeldesomzijnvanalleonevengetallenindelijst. e) Schrijf een functie die de som van de getallen in een lijst terugeeft. Behalve als het eerste elementeen0is,danmaghetenkeldesomzijnvanallegetallenopevenindicesindelijst.