In deze verkenningsfase ga je onderzoeken hoe je programma (script) kan vragen om via het toetsenbord data in te geven.
In deze verkenning ga je:
de input-instructie onderzoeken
je kennis verdiepen van drie belangrijke data types
leren de data van het ene type om te vormen naar het andere type.
Opdracht 1.8:
Python is een zeer leesbare taal. Wanneer je alle Engelse instructies zou vertalen naar het Nederlands, dan kan je al een goed idee krijgen wat het script gaat doen.
Bestudeer onderstaande scripts.
Wat denk je dat er gaat gebeuren?
Typ de code over en controleer je antwoord.
Script 1
getal=input("Geef getal in:")
print("Het ingegeven getal was",getal)
Script 2
getal=input("Geef getal in:")
dubbel_getal=2*getal
print("Het ingegeven getal was",getal)
print("Het dubbele van het getal is", dubbel_getal)
Je merkt dat je soms verplicht bent om gegevens van het ene variabel type te converteren naar het andere. Gegevens die toegewezen worden met de input-instructie zullen steeds van het string type zijn. Om hiermee wiskundige bewerkingen te doen, ga je deze moeten converteren naar een integer of een float.
Let wel op, sommige conversie gaan wel een effect hebben op “de waarde” van je variabele. Zo zal een omzetting van float naar integer ertoe leiden dat alle cijfers na de komma wegvallen.
De instructie die je gebruikt om te converteren hangt enkel af van het type naar waar je converteert, en niet van het oorspronkelijke variabel type:
Converteren naar een integer:
geheel_getal = int(gegeven).
Converteren naar een float:
decimaal_getal = float(gegeven)
Converteren naar een string:
tekst = str(gegeven)
Als Python niet in staat is om het gegeven te converteren, dan krijg je een foutmelding.
Opdracht 1.9
Bekijk de instructies. Vul aan wat je verwacht dat op de stippellijnen onder elke print-instructie op het scherm getoond gaat worden.
Controleer je antwoorden door de code in de shell in te typen.
Opdracht 1.10
Pas onderstaande code aan zodat het script het dubbele van het getal berekent en dit als output geeft.
getal=input("Geef getal in:")
dubbel_getal=2*getal
print("Het ingegeven getal was",getal)
print("Het dubbele van het getal is", dubbel_getal)
Een voorbeeld van een mogelijke output wordt hier getoond.
Opdracht 1.11:
Onderstaande code is een mogelijke oplossing voor opdracht 1.1.
Pas deze, of je eigen code, aan zodat de gebruiker verschillende zijden kan ingeven zonder er iets aan de code moet veranderd worden.
# Aantal bomen berekenen
# Gegevens
lange_zijde = 210
korte_zijde = 120
breedte = 120
oppervlakte_boom = 8*8
# Oppervlakte veld berekenen
oppervlakte_veld = (lange_zijde+korte_zijde)/2*breedte
# Aantal bomen berekenen
aantal_bomen = oppervlakte_veld/oppervlakte_boom
# Output
print("Gegevens:")
print("Lange zijde:",lange_zijde)
print("Korte zijde:",korte_zijde)
print("Breedte:",breedte)
print()
print("Resultaat:")
print("Aantal bomen aan te kopen:",aantal_bomen)