Python Cursus. Hoofdstuk 7b - Iteraties: While-loop

Uitwerkingen Opgaven

Terug naar de uitleg en gewone opgaven over While-Loop
Terug 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