Python Cursus. Hoofdstuk 7b - Iteraties: While-loop
Uitwerkingen Opgaven
Terug naar de uitleg en gewone opgaven over While-LoopTerug naar de cursus pagina
Opgave 7.1.1.0a Hallo!
teller = 0
while teller < 2:
print("Hallo!")
teller += 1
print( "Einde" )
Opgave 7.1.1.0 Tellen tot 10.
getal = 0 #eerste getal is 0
while ( getal < 10 ):
print( getal )
getal += 1 #verhoog getal met 1
print("Klaar!")
Antwoord: De while loop is 10 keer uitgevoerd. Dit zie je omdat er 10 regels zijn afgedrukt, en dus 10 keer de print() is aangeroepen.
Opgave 7.1.1.1 Tot en met 10 tellen
getal = 0
while ( getal <= 10 ):
print( getal )
getal += 1 # verhoog getal met 1
print( "Klaar!" )
Opgave 7.1.1.2 Even getallen afdrukken
nummer = 0
while nummer < 9: #10 zou ook goed zijn.
print( nummer )
nummer += 2
print( "Klaar" )
Opgave 7.1.2.1 Som berekenen met een while loop
aantal_getallen = 0
totaal = 0
while aantal_getallen < 3:
invoer = input ( "Geef een getal: " ) #vraag de gebruiker om invoer
ingevoerde_getal = int( invoer ) #zet de invoer om in een getal
totaal += ingevoerde_getal
aantal_getallen += 1
print( "Totaal is", totaal )
Opgave 7.1.2.2 Gemiddelde berekenen
aantal_getallen = 0
totaal = 0
while aantal_getallen < 5:
invoer= input( "Geef een nummer: " )
ingevoerde_getal = int( invoer )
totaal += ingevoerde_getal
aantal_getallen += 1
gemiddelde = totaal / aantal_getallen
print( "Totaal is", totaal )
print( "Gemiddelde is", gemiddelde )
Opgave 7.1.3 Bereken som, de gebruiker bepaalt hoeveel getallen
som = 0
invoer = input( "Geef een nummer (of -1 op te stoppen): " ) #vraag gebruiker om invoer
invoer_nummer = int( invoer ) #zet invoer om in een getal
while invoer_nummer != -1: #zolang geen -1 is ingevoerd, herhaal dan:
som += invoer_nummer #tel ingevoerde getal bij het totaal
invoer = input( "Geef een nummer (of -1 op te stoppen): " ) #vraag gebruiker om invoer
invoer_nummer = int( invoer ) #zet invoer om in een getal
print( "Totaal is", som ) #druk aan einde het totaal af
Opgave 7.1.4 Fout herstellen in de loop
teller = 0
while ( teller < 5 ):
print( teller )
teller += 1
Opgave 7.1.5.1a Gok het getal
import random
#GLOBALE VARIABELEN
TE_RADEN_GETAL = random.randint(0,100) #computer kiest een willekeurit getal tussen 0 en 100 (0 of 100 kan ook)
#HOOFDPROGRAMMA
goed_geraden = False #om te beginnen staat de vlag op False
while not goed_geraden: #herhaal zolang vlag nog op False staat
invoer = input( "Gok een getal tussen de 0 en 100 (0 of 100 mag ook)!")
gebruikers_antwoord = int( invoer )
if gebruikers_antwoord == TE_RADEN_GETAL: #goed geraden
goed_geraden = True #de vlag wordt op True gezet, hierna zal de while loop niet opnieuw uitgevoerd gaan worden
print("Goed geraden!")
else: #fout geraden
print("Jammer, fout... probeer het opnieuw")
print("Bedankt voor het spelen")
Opgave 7.1.5.1 Wachtwoord controle
WACHTWOORD = "Geheim" #het wachtwoord dat geraden moet worden
goed_geraden = False #om te beginnen staat de vlag op False
aantal_pogingen = 0 #we beginnen met 0 pogingnen
while not goed_geraden: #herhaal zolang vlag nog op False staat
aantal_pogingen += 1 #er wordt nu een nieuwe poging gedaan, aantal dus ophogen
print("Poging nr:", aantal_pogingen)
invoer = input( "Wat is het wachtwoord?" ) #vraag om invoer
if invoer == WACHTWOORD: #als het wachtwoord goed is geraden
goed_geraden = True #de vlag wordt op True gezet, hierna zal de while loop niet opnieuw uitgevoerd gaan worden
print("Goed geraden!")
else: #fout geraden, herhaal de hele while loop nog een keer
print("Niet goed... probeer het opnieuw")
print("Welkom!")
Opgave 7.1.5.2 Hooguit 3 pogingen voor een pincode
PINCODE = 1234
goed_geraden = False
aantal_pogingen = 0
while (not goed_geraden and aantal_pogingen < 3): #herhaal zolang vlag nog op False staat EN nog geen drie pogingen
invoer = input( "Voer pincode in: " ) #vraag de wachtwoord
gebruikers_antwoord = int( invoer )
aantal_pogingen += 1
if gebruikers_antwoord == PINCODE:
goed_geraden = True #goed geraden, dus vlag wordt op True gezet, hierna zal de while loop niet opnieuw uitgevoerd gaan worden
print("Pincode is juist!")
else:
print("Pincode is fout. Je hebt", aantal_pogingen, "keer geprobeerd.")
if goed_geraden == True:
print("Toegang verleend.")
else:
print("Toegang geweigerd.")
Afsluitende Opgaven
Afsluitende opgave while-loop 7.1 Eerste 10 kwadraten (met while-loop)
teller = 0
while teller < 10:
antwoord = teller ** 2
print( antwoord )
teller +=1
Afsluitende opgave while-loop 7.2 Countdown (met while-loop)
#Countdown.
getal = 10
while getal > 0:
print(getal)
getal -= 1
print("Start!")
Afsluitende opgave while-loop 7.3 Veelvouden van 5 (kleiner of gelijk aan 100)
# Drukt alle veelvouden van 0 t/m 100 af
# bv. 0 5 10 ... 100
teller = 0
antwoord = teller * 5
while antwoord < 100:
antwoord = teller * 5
print (antwoord)
teller +=1
Afsluitende opgave while-loop 7.4 Faculteit (met while-loop)
# Faculteit.
faculteits_getal = 5
berekende_faculteit = faculteits_getal
while faculteits_getal > 1:
faculteits_getal -= 1
berekende_faculteit *= faculteits_getal
print( berekende_faculteit )
Afsluitende opgave while-loop 7.5 Rekenkwis
getal1 = 3
getal2 = 4
antwoord_juist = False #om te beginnen is antwoord nog niet juist
while antwoord_juist == False: #zolang nog geen juiste antwoord gegeven is, herhaal dan:
antwoord = int( input ("Hoeveel is "+ str(getal1) + " + " + str(getal2) + "?")) #vraag gebruiker om antwoord en sla op als int
if antwoord == (getal1 + getal2): #controleer of antwoord correct is
print("Goed zo!")
antwoord_juist = True
else:
print("Jammer, probeer het nog eens") #herhaal de while loop
print("Spel is afgelopen!")
Afsluitende opgave while-loop 7.6 Decimaal naar Binair
#Zet decimaal om in binair
getal = int (input("Voer een (decimaal) getal in:"))
while getal > 0:
if getal%2 == 0:
print("0", end="")
else:
print("1", end="")
getal = getal - 1
getal = getal/2
Terug naar de uitleg en gewone opgaven over While-Loop
Terug naar de cursus pagina