Python probleem 1

Zoek de som van alle veelvouden van 3 of 5 kleiner dan 1000

 

Antwoord

  • Het probleem is wiskundig perfect op te lossen door de som te nemen van alle drievouden + de som van alle vijfvouden, verminderd met de som van de vijftienvouden. Alle uiteraard kleiner dan 1000.
  • Via Python gaan we alle getallen van 0 tot en met 999 controleren of ze een drievoud of vijfvoud zijn. Zo ja dan tellen we die op bij een variabele, met naam som. Deze variabele zetten we bij de start op nul.
  • We hebben ook de tijd berekend nodig voor dit uit te voeren

 

 

 

Functies in Python

Python bezit de mogelijkheid zelf functies te definiëren. Zo kunnen we bijvoorbeeld de kwadraatfunctie definitiëren:

Het  begin van een functie duiden we aan met def , nadien komt de naam en tussen de haakjes staan de argumenten, in dit geval dus gewoon x. Na return komt er wat de functie moet teruggeven. het is ook mogelijk om: meerdere argumenten te geven.  Als je in een programma vaak iets moet berekenen, maak je best een functie voor die berekening.

Je kan in Python zelfs gebruik maken van de functie in de functie zelf! We kunnen bijvoorbeeld gebruik maken van de recursieve relatie van faculteiten om hiervoor een functie te maken:

De functie zal zichzelf aanspreken.Je hebt natuurlijk ook beginwaarden nodig, anders kan je nooit een antwoord geven voor een willekeurige n. Als, zoals in ons voorbeeld, n = 20 zal de functie na 19 keer zichzelf aan te spreken, een 1 teruggeven, en dus eindigen.

While – lussen

Als de herhalingen eerder afhangen van een bepaalde voorwaarde, kan je beter een while-lus gebruiken. 

Alle iteraties zullen uitgevoerd worden, zolang de voorwaarde  
 achter de while geldt. In bovenstaand voorbeeld zal zolang i < 6, de waarde van i afgedrukt worden, en zal telkens met 1 worden vermeerderd.

For lussen

Een zeer belangrijke functie bij het programmeren zijn de lussen. Als je in je code graag iets stelselmatig wilt overlopen, kan je hiervoor de for-lus gebruiken. We geven een paar voorbeelden:

De for-lus zal alle waarden van i overlopen van 0 tot en met 3. Elke instructie na de insprong wordt dan bij elke herhaling uitgevoerd. Voor de eerste stap zal i = 0, voor de tweede stap zal dat 1 meer zijn en zo gaan we verder tot aan 3, één minder dan het getal aangegeven in de range functie.

Indien je niet bij 0 wilt beginnen of met grotere stapje wilt gaan kan je een uitgebreide range functie gebruiken. Zo zal range(1,11,2) starten bij 1, stoppen voor 11 en met stapjes van 2  vooruit gaan

In plaats van de range functie, kan je ook alle elementen uit een lijst afgaan:

 

If … Else …

De if-functie is, in elke programmeertaal, een vaak gebruikte functie. Een voorbeeld in Python ziet er uit als :

a=2
b=3
if a>b:
    print(‘a is groter dan b’)N

Na de if komt dus een voorwaarde, die al dan niet waar is. Indien de uitspraak True is, dan wordt alle code uitgevoerd die ingesprongen is. Om het begin van de insprong aan te duiden, zet je een dubbel punt. 

Als je graag nog een code had ingevoerd, indien de uitspraak False was, gebruik je hiervoor else.