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