test

De ene klassieker is al klassieker dan de andere. Hier opnieuw eentje met de repeat-until-lus in Scratch.

Zet het volume op 5%. Speel het geluidje 'Meow' opnieuw en opnieuw maar telkens met een volume die 10 hoger is. Stop met spelen wanneer het volume groter is dan 50.

De code in Scratch zou er dan als volgt kunnen uitzien:

when gf clicked set volume to {5} % repeat until <(volume) gt "50"> play sound [Meow] until done change volume by {10} end

Hoe programmeer je dit in Python?

De syntax van het while-statement ziet er als volgt uit:

while <boolean expressie>:
      <acties>

Merk opnieuw op dat alle acties die horen bij de while-lus één tabulatie naar recht springen.

Een klassiek voorbeeldje bij het tekstueel programmeren, is het optellen van prijzen van winkelartikelen tot een afgesproken code, bijvoorbeeld -1, opgegeven wordt

totale_prijs = 0.0
artikel_prijs = float(input('Geef de prijs van het eerste artikel: '))
while artikel_prijs != -1.0:
      totale_prijs += artikel_prijs
      artikel_prijs = float(input('Geef de prijs van het volgend artikel: '))
print('totale prijs: € {:.2f}'.format(totale_prijs))

In Python heb je heel wat mogelijkheden om de uitvoer 'mooi' te maken. Zo kan je met geformateerde uitvoer o.a. bepalen hoeveel tekens je na de komma toont.

Opgave

Vraag aan de gebruiker het volume bij aanvang van het geluid en het maximaal volume. Verhoog stapsgewijs het volume met 10% van het huidig volume. Laat het programma uitschrijven hoeveel stapjes je nodig hebt opdat het volume groter geworden is dan het maximaal volume. Schrijf ook het maximaal volume uit. Gebruik een geformateerde uitvoer.

Je mag veronderstellen dat het volume bij aanvang en het maximaal volume positieve reële getallen zijn en dat het volume bij aanvang strikt kleiner is dan het maximaal volume.

Voorbeeld

Invoer:
22.17605718199242
40.34422174062497
Uitvoer:
In 7 stapjes werd het volume 43.21486