Professional Documents
Culture Documents
Po Hopelijk Laatste Job
Po Hopelijk Laatste Job
Van een getal in cijfers "98" een getal in letters maken "achtennegentig"
De eenheden en tientallen zijn de basisblokken van getallen maken:
achtennegentig is bijvoorbeeeld "acht" (+ "en") + "negentig"
verder is dit de derde versie die ik inlever,
omdat een groot deel van de basisstructuur veranderd moest worden
vanwege het "eenmiljoen" probleem.
"""
gebruiker_getal = int(input("Welk getal wilt u uitgeschreven hebben? "))
# We splitten hier met twee handige functies het getal uiteen in tientallen
en eenheden
tiental = getal // 10 # De // is hier delen en de rest negeren, zodat 98 //
10 = 9.8 = 9, wat het tiental is
eenheid = getal % 10 # De % is hier delen en alleen de rest houden, zodat
98 % 10 = 9 rest 8 = 8, wat de eenheid is
# De reden dat we apart checken voor een heel tiental is omdat anders
"endertig" zou worden geprint ipv "dertig"
if eenheid == 0:
return tientallen[tiental]
# Deze check is voor de klinkerbotsing die zich bij twee- en drie- voordoet
elif eenheid == 2 or eenheid == 3:
return eenheden[eenheid] + "ën" + tientallen[tiental]
# Als laatste het "normale" geval
else:
return eenheden[eenheid] + "en" + tientallen[tiental]
# En hier, alles van 101-1000
elif getal < 1000:
honderdtal = getal // 100 # Zelfde functie als net
rest = getal % 100 # De rest gebruiken we zo nog een keer
# Dit is één van de belangrijkste functies uit de hele code, namelijk dingen als
"eenduizend", "eenmiljoen" etc. verbeteren.
# De gegeven argumenten zijn de woorden die later gegenereerd worden, en het
schaalwoord wat we erachter aan moeten plakken.
def vervang_een(woorden, schaalwoord):
# Deze check zorgt ervoor dat ipv woorden + schaalwoord = "eenduizend",
schaalwoord = "duizend" is. Dit is heel belangrijk en vooral heel irritant.
if woorden == "een":
return schaalwoord
else:
return woorden + schaalwoorden[schaal]
# Dit dealt meteen, zonder over schalen na te denken, met alles tot de 1000
if gebruiker_getal < 1000:
print(deel_omzetten(gebruiker_getal))
print(resultaat)