Breuken versimpelen
In deze opdracht ga je breuken versimpelen. Bij een breuk $\frac{a}{b}$
heb je hiervoor de grootste gemene deler nodig. Dit is het grootste
getal, waardoor $a$ en $b$ allebei te delen zijn. Probeer zelf te
bedenken hoe dit bruikbaar is. In het Engels heet dit de greatest
common divisor, afgekort de gcd. De gcd van bijvoorbeeld $24$ en
$32$ is bijvoorbeeld $8$ omdat dit het grootste getal is waardoor zowel
$24$ als $32$ deelbaar is. Voor het uitrekenen van de gcd kun je een
ingebouwde functie in Python gebruiken als gcd(a,b)
. Zet hiervoor aan
het begin van je programma: from math import gcd
.
- Sla de breuk $\frac{a}{b}$ op door twee Pythonvariabelen
a
enb
te maken. Je mag zelf twee waarden voora
enb
kiezen.
Je kunt meerdere teksten en/of getallen achter elkaar printen door deze
allemaal in één print-aanroep te zetten, gescheiden door een komma. Als
a
bijvoorbeeld 42 is, zal print('a =', a)
de tekst a = 42
laten
zien.
-
Print je breuk nu volgens bovenstaande printaanroep. Probeer je twee variabelen nu zo te schrijven, dat het programma correct blijft werken als je $a$ en $b$ een andere waarde geeft, zonder dat je daarvoor de teksten in de
print
hoeft te veranderen. -
Schrijf nu een programma dat begint met twee getallen $a = 1081$ en $b = 483$. Het programma moet het volgende afdrukken:
1081 / 483 = ...
met op de puntjes de versimpelde breuk. Je kunt hier degcd(a,b)
-functie gebruiken zoals aan het begin van deze opdracht is beschreven.
Ingebouwd in Python
Je kunt breuken ook automatisch door een Python-functionaliteit laten
versimpelen. Gebruik hiervoor from fractions import Fraction
. Door nu
simpelweg Fraction(a,b)
uit te rekenen krijg je automatisch een
versimpelde breuk. Door deze te printen zie je de versimpelde breuk.
Toelichting: imports
Je hebt bij de opdrachten gezien dat we een paar functies nodig hadden die niet standaard toegankelijk zijn. We moesten ze eerst importeren uit andere modules. Zo kwamen de functies sqrt
en gcd
uit de math
-module.
Met import
kan je functies of variabelen uit een andere module importeren in het huidige programma. Dit is hoe in principe alle modules in Python zijn opgebouwd. Dit zorgt ervoor dat de code makkelijk herbruikbaar is. In een later stadium zullen we bespreken hoe je zelf een module kunt maken die anderen kunnen importeren.
Je kunt op twee manieren functies importeren. Zoals je hierboven zag kan je de constructie from modulenaam import functienaam
gebruiken. Dan kan je de functie meteen gebruiken. Soms heb je meerdere functies met dezelfde naam uit verschillende modules. In dat geval kan je de module in z'n geheel importeren met import modulenaam
, en een functie gebruiken door eerst de modulenaam te noemen. De gcd
-functie uit de math
-module zou je dan importeren met import math
. Vervolgens kun je de gcd
-functie dan als volgt gebruiken: math.gcd(12, 32)
.
Als je een bepaalde functie zoekt is het handig om de Python-documentatie te bekijken, maar als je al ongeveer weet waar je moet zoeken kan het ook sneller. Na de module te importeren met import modulenaam
, kun je met de functie dir(modulenaam)
bekijken wat je er zoal uit kan gebruiken. Voor de bekendste modules is zelfs een handleiding ingebouwd. Deze kun je aanroepen met de help
-functie (bij de math
module zou dat help(math)
worden). Probeer bijvoorbeeld eens de math-module te importeren en met dir
te printen wat er allemaal voor functies inzitten.