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.