H4 - Keuzes: UITWERKINGEN
Opdracht 4.1 Vergelijkingsoperatoren
# Enkele vergelijkingen testen.
#Code die test of `1/2` groter dan, gelijk aan, of kleiner is dan `0.5`.
print("1/2 is groter dan 0.5 is: ", 1/2 > 0.5 )
print("1/2 is gelijk aan 0.5 is: ", 1/2 == 0.5 )
print("1/2 is kleiner dan 0.5 is: ", 1/2 <= 0.5 )
print("1/2 is ongelijk aan 0.5 is: ", 1/2 != 0.5 )
print("1/2 is kleiner dan 0.5 is: ", 1/2 < 0.5 )
Opdracht 4.2 Foutmelding bij een vergelijking
print( 3 < 4 )
De foutmelding is: TypeError: '<' not supported between instances of 'int' and 'str'
Feitelijk houdt dit in dat je niet kunt vragen of twee van elkaar afwijkende datatypes verschillend zijn in grootte.
Opdracht 4.3 Een 6 dobbelen
dobbelworp = 6
if dobbelworp == 6 :
print("Yes! Je hebt een 6 gegooid")
Opdracht 4.4 Beide if's uitvoeren
Alle waarden kleiner of gelijk aan 3.
getal = 3
if getal <= 3:
print( "A" )
if getal < 6:
print( "B" )
Opdracht 4.5 Meerdere if's
x = 6
if x > 5:
print( "A" )
if x >= 6:
print( "B" )
if x < 8 :
print( "C" )
if x <= 5:
print( "D" )
if x != 7:
print( "E" )
if x <= 6 :
print( "F" )
Opdracht 4.6 Meerdere getallen dobbelen
dobbelworp = 6 #met 6 worden beide zinnen afgedrukt
if dobbelworp == 6 :
print("Yes! Je hebt een 6 gegooid")
if dobbelworp != 1:
print("Gelukkig, je hebt geen 1 gegooid")
Opdracht 4.7 Welke letters zitten in een woord
woord = "informatica"
if "a" in woord:
print("De letter 'a' zit in het woord " + woord)
if "b" in woord:
print("De letter 'b' zit in het woord " + woord)
if "inf" in woord:
print("De letters 'inf' zitten in het woord " + woord)
if "q" not in woord:
print("De letter 'q' zit niet in het woord " + woord)
Opdracht 4.8 Van stroomdiagram naar code
x = 4
if x > 2 :
print( "x > 2" )
else:
print( "x <= 2" )
Opdracht 4.9 Batterij is bijna leeg!
batterij_energie = 2
if batterij_energie < 10:
print ("True. Let op: batterij is bijna leeg. ")
else:
print ("False. Dus batterij is NIET bijna leeg.")
Opdracht 4.10 Wachtwoordcontrole
print("Wat is het wachtwoord?")
ingevoerde_wachtwoord = input()
if ingevoerde_wachtwoord == "Geheim":
print("Toegang geautoriseerd!")
else:
print("Toegang geweigerd!")
Opdracht 4.11 Voldoende of onvoldoende
print("Wat is je cijfer?")
invoer = input()
ingevoerde_cijfer = float( invoer )
if ingevoerde_cijfer >= 5.5:
print("Voldoende.")
else:
print("Jammer, onvoldoende")
Opdracht 4.12 Het is weekend!
print( "Welk dag is het vandaag?" )
vandaag = input()
if vandaag == "zaterdag" or vandaag == "zondag":
print( "Het is weekend!" )
else:
print( "Helaas, geen weekend.")
Opdracht 4.13 Combinaties van logische operatoren
a) PrintTrue als het op beide dagen vriest, anders print False.
temperatuur_gisteren = 1
temperatuur_vandaag = -1
if temperatuur_vandaag <= 0 and temperatuur_gisteren <= 0:
print("True. Op beide dagen vriest het.")
else:
print("False")
b) Print True als het op geen van beide dagen vriest, anders print False.
Geen van beide dagen vriezen
temperatuur_gisteren = 1
temperatuur_vandaag = 1
if( not (temperatuur_gisteren <= 0 or temperatuur_vandaag <=0) ):
print("True. Op GEEN van beide dagen vriest het.")
else:
print("False")
OF
if( not(temperatuur_gisteren <= 0) and not(temperatuur_vandaag <=0) ):
print("True. Op GEEN van beide dagen vriest het.")
else:
print("False")
c) Print True als het op minstens een dag vriest, anders print False.
temperatuur_gisteren = -1
temperatuur_vandaag = -1
if( (temperatuur_gisteren <= 0) or (temperatuur_vandaag <=0) ):
print("True. Het vriest op minstens 1 dag.")
else:
print("False")
d) Print True als het niet op allebei dagen vriest, anders print False.
temperatuur_gisteren = 1
temperatuur_vandaag = -1
if( not(temperatuur_gisteren <= 0) or not (temperatuur_vandaag <=0) ):
print("True. Het vriest niet op allebei dagen")
else:
print("False")
OF
if( not(temperatuur_gisteren <= 0 and temperatuur_vandaag <=0) ):
print("True. Het vriest niet op allebei dagen")
else:
print("False")
Opdracht 4.14 Verbeter de inspringfouten
x = 3
y = 4
if x == 3 and y == 4:
print( "x is 3" )
print( "y is 4" )
if x > 2 and y < 5:
print( "x > 2" )
print( "y < 5" )
if x < 4 and y > 3:
print( "x < 4" )
print( "y > 3" )
Opdracht 4.15 Geneste condities
Geen uitwerking beschikbaar- Op regel 1 krijgt de variabele
leeftijdde waarde 21. - De
ifop regel 2 levertFalseop, dus wordt doorgegaan naar regel 4; - De
elseop regel 4 wordt uitgevoerd omdat de bijbehorendeifop regel 2Falsewas, er wordt doorgegaan naar regel 5; - De
ifop regel 5 levertFalseop, dus wordt er doorgegaan naar regel 7; - De
elseop regel 7 wordt uitgevoerd omdat de bijbehorendeifop regel 5Falsewas, er wordt doorgegaan naar regel 8; - De
ifop regel 8 levertTrueop, dus wordt het bijbehorende blok uitgevoerd:print( "jong" ); - Omdat de
ifop regel 8Truewas, wordt deelseop regel 10 niet uitgevoerd. De coderegels 11 tot en met 14 horen bij dieelseen worden daarom overgeslagen. Er wordt naar het einde van de constructie op regel 15 gesprongen; - De volgende regel code na de
if-elsewordt uitgevoerd, dusprint("Klaar!").
Opdracht 4.16 Nadenken over geneste condities
Antwoord: 4 en 5Alle getallen tussen 3 en 6: 3 en 6 zijn uitgesloten.
Opdracht 4.17 Anders als: elif
Geen uitwerking beschikbaar.
Opdracht 4.18 Bagagetoeslag
# Gewichten van bagage.
print("Wat is het gewicht? ")
invoer = input()
gewicht = float( invoer )
if gewicht > 20:
print( "Er moet een toeslag van $25 betaald worden voor bagage die te zwaar is." )
elif gewicht < 20:
print( "Goede reis!" )
else:
print( "Poeh! Dat gewicht is precies goed!" )
of
# Gewichten van bagage.
print("Wat is het gewicht? ")
invoer = input()
gewicht = float( invoer )
if gewicht > 20:
print( "Er moet een toeslag van $25 betaald worden voor baggage die te zwaar is." )
else:
if gewicht < 20:
print( "Goede reis!" )
else:
print( "Poeh! Dat gewicht is precies goed!" )
Opdracht 4.19 Enquête
print("Hoe oud ben jij?")
invoer = input()
jouw_leeftijd = int( invoer )
if jouw_leeftijd <= 6:
print("Perfect. Ik wil graag weten wat voor leesboeken kinderen leuk vinden.")
jouw_boek_keuze = input("Wat is je lievelingsprentenboek?")
print("Goeie keuze! Ik vind", jouw_boek_keuze, "ook leuk!")
elif jouw_leeftijd <= 10:
print("Perfect. Ik wil graag weten wat voor leesboeken kinderen leuk vinden.")
jouw_boek_keuze = input("Wat is je lievelingsverhalenboek?")
print("Goeie keuze! Ik vind", jouw_boek_keuze, "ook leuk!")
elif jouw_leeftijd <= 16:
print("Perfect. Ik wil graag weten wat voor leesboeken kinderen leuk vinden.")
jouw_boek_keuze = input("Wat is je lievelingsroman?")
print("Goeie keuze! Ik vind", jouw_boek_keuze, "ook leuk!")
else:
print("Bedankt voor het meedenken, maar deze enquete is alleen voor kinderen")
of (met nesting)
print("Hoe oud ben jij?")
invoer = input()
jouw_leeftijd = int( invoer )
if jouw_leeftijd <= 16:
print("Perfect. Ik wil graag weten wat voor leesboeken kinderen leuk vinden.")
if jouw_leeftijd <= 6:
jouw_boek_keuze = input("Wat is je lievelingsprentenboek?")
elif jouw_leeftijd <= 10:
jouw_boek_keuze = input("Wat is je lievelingsverhalenboek?")
elif jouw_leeftijd <= 16:
jouw_boek_keuze = input("Wat is je lievelingsroman?")
print("Goeie keuze! Ik vind", jouw_boek_keuze, "ook leuk!")
else:
print("Bedankt voor het meedenken, maar deze enquete is alleen voor kinderen")
H4 - Afsluitende Opdrachten: UITWERKINGEN
Afsluitende Opdracht 4.1 Kiesgerechtigd
print("Geef je leeftijd op")
invoer = input()
leeftijd = int(invoer)
if leeftijd >= 18:
print("Je mag stemmen!")
else:
print("Je mag nog niet stemmen!")
Afsluitende Opdracht 4.2 Grootste
print("Geef een getal:")
invoer = input()
getal1 = int( invoer )
print("Geef een tweede getal:")
invoer = input()
getal2 = int( invoer )
if getal1>getal2:
print( getal1, "is groter")
elif getal1 == getal2:
print( getal1, "en", getal2, "zijn even groot")
else:
print( getal2, "is groter")
Afsluitende Opdracht 4.3 Gelukkig
print( "Voel je je gelukkig?" )
reactie = input()
#print eerste de ogen
print("** **")
print("** **")
print("** **")
print()
#print dan de mond
if reactie == "JA" or reactie == "Ja" or reactie == "ja":
print("* *")
print(" **** ")
else:
print(" **** ")
print("* *")
Afsluitende Opdracht 4.4 Lengte gebruikersnaam controleren
print( "Hallo. Hoe heet jij?" )
gebruikersnaam = input()
if len(gebruikersnaam) < 2:
print("De ingevoerde naam is te kort. Geef je echte naam op!")
else:
print("Hallo", gebruikersnaam)
Afsluitende Opdracht 4.5 Is even?
print("Geef een geheel getal.")
invoer = input()
getal = int(invoer)
if getal%2 == 0:
print(getal, "is even")
else:
print(getal, "is oneven")
Afsluitende Opdracht 4.6 Amerikaans beoordelen
# Amerikaans beoordelen.
print("Geef een cijfer: ")
invoer = input()
cijfer = float(invoer)
if cijfer < 0 or cijfer > 10:
print( "Foutmelding: Cijfers moeten tussen 0 en 10 liggen!" )
else:
if cijfer >= 8.5:
print( "A" )
else:
if cijfer >= 7.5:
print( "B" )
else:
if cijfer >= 6.5:
print( "C" )
else:
if cijfer >= 5.5:
print( "D" )
else:
print( "F" )
of
print("Geef je cijfer in:")
cijfer = float(input())
if cijfer >= 8.5 and cijfer <= 10:
print("Je scoort een A")
elif cijfer >= 7.5 and cijfer < 8.5:
print("Je scoort een B")
elif cijfer >= 6.5 and cijfer < 7.5:
print("Je scoort een C")
elif cijfer >= 5.5 and cijfer < 6.5:
print("Je scoort een D")
elif cijfer >= 0 and cijfer < 5.5:
print("Je scoort een E")
else:
print("Je cijfer is niet geldig")
Afsluitende Opdracht 4.7 Redeneerfout
score = 9.8
if score >= 8.5:
oordeel = 'A'
elif score >= 7.5:
oordeel = 'B'
elif score >= 6.5:
oordeel = 'C'
elif score >= 5.5:
oordeel = 'D'
else:
oordeel = 'F'
print( oordeel )
Omdat al direct aan de eerste voorwaarde voldaan wordt, worden de overige voorwaarden niet meer gecheckt. Daardoor is het antwoord āDā fout. De consities moeten omgedraaid worden: de laatste het eerst, enz.
Afsluitende Opdracht 4.8 Aantal verschillende klinkers
print("Geef een tekst")
invoer = input()
teller = 0
if ("a" in invoer) or ("A" in invoer):
teller += 1
if ("e" in invoer) or ("E" in invoer):
teller += 1
if ("i" in invoer) or ("I" in invoer):
teller += 1
if ("o" in invoer) or ("O" in invoer):
teller += 1
if ("u" in invoer) or ("U" in invoer):
teller += 1
if teller == 0:
print( "Er zitten geen klinkers in de tekst." )
elif teller == 1:
print( "Er zit maar 1 soort klinker in de tekst." )
else:
print( "Er zijn", teller, "verschillende klinkers." )
Afsluitende Opdracht 4.9 Brugklasadvies
cito_score = int( input("Geef de cito score op:") )
if cito_score < 501 or cito_score > 550:
print("Dit is een ongeldige score.")
elif cito_score >=501 and cito_score <= 536:
print("Het advies is: vmbo")
elif cito_score >=537 and cito_score <= 539:
print("Het advies is: havo")
elif cito_score >=540 and cito_score <= 544:
print("Het advies is: havo/vwo")
else:
print("Het advies is vwo")
Afsluitende Opdracht 4.10 Geldige gebruikersnaam
print("Wat is je gebruikersnaam?")
gebruikersnaam naam = input()
if len(gebruikersnaam) < 2 or len(gebruikersnaam) > 20:
print("De lengte van de gebruikersnaam is niet goed.")
elif ("?" in gebruikersnaam) or ("%" in gebruikersnaam) or ("&" in gebruikersnaam):
print("De volgende vreemde tekens mogen niet voorkomen: ?, %, & ")
else:
print("Hallo", gebruikersnaam)
Afsluitende Opdracht 4.11 App voor gewicht
print( "Wat was je vorige gewicht?" )
invoer = input()
vorige_gewicht = float( invoer )
print( "Wat is je huidige gewicht?" )
invoer = input()
huidige_gewicht = float( invoer )
if vorige_gewicht == huidige_gewicht:
print("Je weegt nog precies hetzelfde als de vorige keer.")
else:
if huidige_gewicht > vorige_gewicht:
verschil = (huidige_gewicht - vorige_gewicht)*1000
print("Je bent aangekomen met", round(verschil,0),"gram.")
else:
verschil = (vorige_gewicht - huidige_gewicht)*1000
print("Je bent afgevallen met", round(verschil,0), "gram.")