ID.nl logo
Zo kun je programmeren in Python - Deel 2
© PXimport
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 2

Na onze eerste kennismaking met Python is het tijd om wat complexere datastructuren te bekijken: lijsten en dictionary’s. We duiken ook in de structuur van strings, zodat je afzonderlijke letters kunt manipuleren. Start je Python-interpreter maar alvast op!

In de vorige les leerde je met drie datatypes in Python werken: int, float en str. Vooral int en float zijn vrij eenvoudige datatypes. Maar in veel programma’s heb je types met meer structuur nodig, we noemen dit ook wel datastructuren. In dit deel leer je met twee belangrijke datastructuren van Python werken.

Lijsten

In veel programma’s werk je niet met één specifiek gegeven, maar met een hele reeks. Een lijst (in Python list) is daarvoor ideaal. Zo maak je bijvoorbeeld een lijst met namen aan:

>>> namen = ['kees', 'jan', 'pieter', 'jan', 'joris', 'rob']
>>> len(namen)

6

>>> lege_lijst = []

>>> len(lege_lijst)

0

De functie len, die we uit de vorige les kennen om de lengte van een string terug te geven, werkt ook op een lijst: dan krijg je het aantal elementen in die lijst.

Overigens kan een lijst elementen van verschillende types bevatten, zoals een float, twee strings en een int. Maar vaak heeft een lijst alleen elementen van hetzelfde type.

Functies, parameters en argumenten

Python deelt heel wat functionaliteit op in functies: stukjes code die een specifieke taak uitvoeren, zoals len om de lengte van een lijst of string op te vragen. Een functie kan een parameter hebben: een variabele waarmee de functie werkt en die als waarde het object krijgt dat je aan die functie doorgeeft. Dat object noemen we het argument van de functie. Een functie kan ook meerdere parameters (en dus argumenten) hebben. In deel 6 leer je je eigen functies definiëren en wordt dit allemaal nog veel duidelijker.

Elementen in een lijst

Python kent ook heel wat mogelijkheden om met de elementen in een lijst te werken. Zo vraag je eenvoudig een element uit de lijst op een specifieke positie (ook ‘index’ genoemd) op:

>>> namen[2]
'pieter'

Merk op dat de positie in een lijst vanaf 0 begint te tellen: het eerste element is namen[0], het tweede namen[1], het derde namen[2] enzovoort. Je zou dan denken dat je het laatste element moet opvragen met:

>>> namen[len(namen)-1]
'rob'

Dat werkt inderdaad, maar Python laat ook een negatieve positie toe, waarmee je vanachter in de lijst begint te tellen. Het laatste element heeft dan positie -1:

>>> namen[-1]
'rob'
>>> namen[-2]
'joris'

Als je goed hebt opgelet, zie je dat de string ‘jan’ twee keer in bovenstaande lijst zit. Dat aantal keren kun je opvragen met de functie count:

>>> namen.count('jan')
2
>>> namen.count('pieter')
1
>>> namen.count('koen')
0

Je kunt ook de positie van een element in een lijst opvragen:

>>> namen.index('jan')
1
>>> namen.index('pieter')
2
>>> namen.index('koen')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 'koen' is not in list

Zoals je ziet krijg je een foutmelding (ValueError) als het gevraagde element zich niet in de lijst bevindt. Voor een element dat zich meerdere keren in de lijst bevindt, geeft de functie index alleen de eerste positie terug. Maar je kunt ook vragen om vanaf een specifieke positie te zoeken:

>>> namen.index('jan', 2)
3

Een lijst veranderen

Als je een lijst hebt aangemaakt, kun je die nog altijd veranderen. In het eenvoudigste geval verander je bijvoorbeeld één element:

>>> namen
['kees', 'jan', 'pieter', 'jan', 'joris', 'rob']
>>> namen[1] = 'koen'
>>> namen
['kees', 'koen', 'pieter', 'jan', 'joris', 'rob']

Je kunt een lijst ook omdraaien of sorteren:

>>> namen.reverse()
>>> namen
['rob', 'joris', 'jan', 'pieter', 'koen', 'kees']
>>> namen.sort()
>>> namen
['jan', 'joris', 'kees', 'koen', 'pieter', 'rob']

Verder kun je ook een element aan het einde van een lijst toevoegen, of op een specifieke positie tussen de andere elementen voegen:

>>> namen
['jan', 'joris', 'kees', 'koen', 'pieter', 'rob']
>>> namen.append('aniek')
>>> namen
['jan', 'joris', 'kees', 'koen', 'pieter', 'rob', 'aniek']
>>> namen.insert(0, 'lies')
>>> namen
['lies', 'jan', 'joris', 'kees', 'koen', 'pieter', 'rob', 'aniek']
>>> namen.insert(4, 'mireille')
>>> namen
['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'pieter', 'rob', 'aniek']

Je kunt ook bestaande elementen verwijderen. Zo verwijder je met de functie remove(x) het eerste element waarvan de waarde gelijk is aan x:

>>> namen
['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'pieter', 'rob', 'aniek']
>>> namen.remove('pieter')
>>> namen
['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'rob', 'aniek']
>>> namen.remove('pieter')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

Zoals je ziet, krijg je een foutmelding als je vraagt om een element te verwijderen dat niet in de lijst zit.

Je kunt ook een element op een gegeven positie verwijderen. Dat doe je met de functie pop:

>>> namen
['lies', 'jan', 'joris', 'kees', 'mireille', 'koen', 'rob', 'aniek']
>>> namen.pop(2)
'joris'
>>> namen
['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek']

Als je goed hebt opgelet, zie je dat de functie pop niet alleen een element verwijdert, maar op de opdrachtregel ook als waarde het verwijderde element teruggeeft ('joris').

Snijden in een lijst

Python heeft een krachtige manier om een lijst in stukken te snijden: ‘slicing’. Herinner je de notatie [n] voor het n-de element? Met [n:] krijg je de elementen terug vanaf index n, met [:n] de elementen tot index n (niet inbegrepen) en met [m:n] de elementen van index m tot n (die laatste niet inbegrepen). Enkele voorbeelden maken dit duidelijk:

>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']
>>> namen[1:]
['jan', 'kees', 'mireille', 'koen', 'rob']
>>> namen[:4]
['lies', 'jan', 'kees', 'mireille']
>>> namen[1:4]
['jan', 'kees', 'mireille']

Omdat Python begint te tellen vanaf 0 en in de beginpositie van een slice het element zelf meerekent maar in de eindpositie niet, is de notatie van slicing nogal verwarrend. Het helpt daarom om deze posities te beschouwen als de posities van de komma’s in de lijst, te tellen vanaf 1. Alles tussen de komma’s op die posities is dan de gevraagde slice. Neem bijvoorbeeld namen[1:4]. Omdat namen gelijk is aan ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'], nemen we alles tussen de eerste en de vierde komma, dus van vóór 'jan' tot ná 'mireille', oftewel ['jan', 'kees', 'mireille'].

Slicing is ook een krachtige manier om een deel van een lijst te veranderen. Zo vervang je eenvoudig voorgaande slice in de lijst door een andere naam:

>>> namen
['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']
>>> namen[1:4] = ['bas']
>>> namen
['lies', 'bas', 'koen', 'rob']

Nog eens strings

In een string krijg je net zoals in een lijst toegang tot het n-de element met de notatie [n]. Zo krijg je met 'aniek'[1] het tweede teken van de string 'aniek', of de letter n. Ook slicing werkt bij een string: 'aniek'[1:4] is gelijk aan nie. Maar let op: in tegenstelling tot een lijst kun je een string niet veranderen. De poging 'aniek'[1:4] = 'r' geeft een foutmelding.

Dictionary’s

In een lijst heeft elk element als index zijn positie, zodat je eenvoudig het element op een specifieke positie kunt opvragen. Een andere datastructuur is de ‘dictionary’, die als index voor zijn elementen een sleutel gebruikt, vaak een string of een getal. Elke sleutel van de dictionary moet uniek zijn, zodat je eenvoudig de waarde die bij een specifieke sleutel hoort kunt opvragen.

Een voorbeeld maakt duidelijk hoe je met een dictionary werkt:

>>> scores = {'lies': 5, 'bas': 2, 'kees': 1, 'aniek': 3}
>>> scores['aniek']
3
>>> scores['bert']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'bert'
>>> len(scores)
4

Op deze manier kun je eenvoudig de score van een persoon opvragen op basis van zijn of haar naam. Je ziet hier ook dat je een foutmelding krijgt als je een element opvraagt met een index die niet in de dictionary bestaat.

Een dictionary kun je net zoals een lijst veranderen. Je kunt de waarde bij een specifieke sleutel veranderen, maar je kunt even eenvoudig een nieuw element toevoegen: ken gewoon een waarde toe aan een nieuwe sleutel. Bijvoorbeeld:

>>> scores
{'lies': 5, 'bas': 2, 'kees': 1, 'aniek': 3}
>>> scores['lies'] += 1
>>> scores
{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3}
>>> scores['bert'] = 1
>>> scores
{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3, 'bert': 1}

Een sleutel en de bijbehorende waarde uit de dictionary verwijderen, doe je met het speciale keyword del:

>>> scores
{'lies': 6, 'bas': 2, 'kees': 1, 'aniek': 3, 'bert': 1}
>>> del scores['kees']
>>> scores
{'lies': 6, 'bas': 2, 'aniek': 3, 'bert': 1}

Samenvatting

In dit deel zijn we lang stil blijven staan bij een van de meest gebruikte datastructuren in Python: de lijst. De kennis die je hebt opgedaan over lijsten, kun je voor heel wat andere datatypes in Python hergebruiken. Zo toonden we hoe de notatie voor een index en voor ‘slicing’ hetzelfde is bij een string. Een ander belangrijk datatype dat je in dit deel zag, is de dictionary, waarin je geen positie maar een sleutel als index gebruikt. In het volgende deel verlaten we de interactieve Python-sessies en schrijven we onze eerste programma’s.

Opdracht 1

Je hebt de volgende lijst met namen: >>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek'] Splits deze lijst in zijn laatste element en de rest van de lijst.

Uitwerking opdracht 1

*>>> namen ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob', 'aniek']

laatste_persoon = namen.pop() namen ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'] laatste_persoon 'aniek'* Dit is een veel gebruikte toepassing van de functie pop(), die niet alleen het element op een specifieke index verwijdert, maar ook het verwijderde element teruggeeft. Waarschijnlijk heb je deze opdracht opgelost met: laatste_persoon = namen.pop(-1) Maar de -1 is niet nodig: zonder index geeft de functie pop het laatste element terug.

Opdracht 2

Haal uit een string alle tekens behalve het eerste en het laatste.

Uitwerking opdracht 2

*>>> naam = 'aniek'

naam[1:-1] 'nie'* Slicing werkt bij een string exact zoals bij een lijst. Bovendien kunnen we ook gebruikmaken van een negatieve index in slicing: -1 verwijst dan naar het laatste element. Omdat Python begint te tellen vanaf 0 en in de beginpositie van een slice het teken zelf meerekent maar in de eindpositie niet, verwijst de slice [1:-1] dus naar alle tekens in de string behalve het eerste en het laatste.

Cheatsheet

datastructuur: een datatype dat uit elementen bestaat die met elkaar samenhangen. dictionary: een datastructuur waarin je elementen opvraagt aan de hand van een unieke sleutel. index (in een lijst): positie van een element in een lijst, te beginnen vanaf 0. index (in een dictionary): sleutel van een element waarmee het uit een dictionary op te vragen is. lijst: een datastructuur waarin je elementen opvraagt aan de hand van hun positie. slicing: het in stukken snijden van een lijst of string.

▼ Volgende artikel
Review Dreame L10s Ultra (2nd gen) – Goedkoper en beter dan voorganger
© Wesley Akkerman
Huis

Review Dreame L10s Ultra (2nd gen) – Goedkoper en beter dan voorganger

Tot onze verbazing zien we dat de Dreame L10s Ultra (2nd gen) een van de grootste nadelen van zijn voorganger zomaar wegneemt: deze nieuwe robotstofzuiger is namelijk honderden euro's goedkoper dan zijn voorganger ooit geweest was. Sterker nog: ook nu nog is eerste L10s Ultra duurder dan zijn opvolger. Tijd om te bekijken hoe de Gen 2 in de praktijk presteert.

Uitstekend
Conclusie

Dreame heeft met de Dreame L10s Ultra (2nd Gen) een fijne balans gevonden tussen een uitgebreide en functionele robotstofzuiger en een redelijke prijs. De maximaal 700 euro die je betaalt, is geen immens hoog bedrag voor de prestaties die je in huis haalt. Je krijgt bovendien toegang tot allerlei premium functies, zoals uitschuifbare dweilpads en de borstel. Je moet er wel rekening mee houden dat je soms de dweil zelf even moet schoonmaken om de prestaties op hoog niveau te houden, maar verder vinden we deze robotstofzuiger top.

Plus- en minpunten
  • Flinke zuigkracht
  • Dweilen gaat veel beter
  • Uitschuifbare onderdelen
  • Aanpassingsmogelijkheden
  • Overzichtelijke app
  • Navigatie gaat beter
  • Prijs-kwaliteitverhouding
  • Objectherkenning niet altijd accuraat
  • Vereist wat handmatig onderhoud
  • Geen warm water
  • Dweil schoonmaken duurt lang
  • Hardnekkige viezigheid kan achterblijven

De Dreame L10s Ultra (2nd Gen) heeft een adviesprijs van 699 euro, maar is nu al online verkrijgbaar voor minder. Als je de introductieprijs van de voorganger in het achterhoofd neemt (meer dan duizend euro) dan begrijp je dat we daar enigszins verrast over zijn. Dat model uit begin 2023 beviel, maar stelde ook teleur op een aantal vlakken. Zo botste het nog wel eens ergens tegenaan, had je nog wat handmatig onderhoud, werd het tapijt niet goed schoongemaakt, was de app onoverzichtelijk en zat je als het ware vast aan de schoonmaakmiddelen van Dreame.

Zijn opvolger doet een hoop dingen anders, terwijl de ervaring toch grotendeels hetzelfde blijft. Daarmee bedoelen we dat fabrikant Dreame een aantal negatieve aspecten aangepakt heeft, en de positieve eigenschappen heeft behouden. En dat zonder de prijs te verhogen. Ergens kon dat ook niet anders, gezien het bestaan van bijvoorbeeld de Dreame X40 Ultra en de aankomende X50 Ultra. Die nemen het stokje over van de meest dure Dreame-robots van dit moment, waardoor de vernieuwde L10s Ultra een lager prijskaartje hanteert.

©Wesley Akkerman

©Wesley Akkerman

Navigeren gaat goed, maar…

De robot en de basis hebben eenzelfde, stijlvol en praktisch ontwerp als andere Dreame-robotstofzuigers en zijn daardoor inmiddels heel herkenbaar. Voor- en bovenop tref je de middelen aan voor objectherkenning, zoals een camera en een laser (LiDAR). Hoewel dit model wel over objectherkenning beschikt, zit er geen AI-camera aan boord (zoals op de duurdere stofzuigers). Over het algemeen navigeert de robot goed door het huis en vermijdt hij verschillende soorten spullen die op de grond liggen en staan.

Waar deze stofzuiger een beetje moeite mee heeft, zijn smalle openingen. Het lijkt net alsof het apparaat een bepaalde route niet 'durft' te nemen uit angst om ergens vast te komen zitten. Daardoor kan het gebeuren dat specifieke plekjes niet meegenomen worden. De objectherkenning laat ook nog wel een iets te wensen over. Het kan zijn dat de robot over kabels heenrijdt en daardoor zichzelf vastrijdt (als het dikke kabels zijn) of iets opzuigt (als het dunne kabels zijn). Bij ons lieten de dweilpads daardoor ook een keer los; die bleven hangen achter een dikke stekkerkabel.

©Wesley Akkerman

Apart bakje voor reinigingsmiddel

Net als de voorganger kan ook de Dreame L10s Ultra (2nd Gen) zijn twee roterende dweilpads niet achterlaten op het basisstation. Daardoor kunnen dat soort dingen zoals in de alinea hierboven beschreven nog wel eens fout gaan. Als zoiets gebeurt, dan stopt de robot met werken totdat je hem geholpen hebt. Als je dan op dat moment niet thuis bent, dan heb je pech. Gezien de prijs hebben we daar minder moeite mee dan voorheen, maar het kan het gebruik van een robotstofzuiger wel in de weg zitten. Helemaal als het apparaat ergens onder het bed stilstaat, en je er dus moeilijk bij kunt

Gelukkig heeft het basisstation wel een waardevolle upgrade gekregen in de vorm van een apart zeepbakje. Naast een bak voor schoon en een bak voor vies water, heb je nu een aparte bak waar je vloerreiniger in kunt stoppen. Dreame raadt uiteraard zijn eigen schoonmaakmiddelen aan, maar niets staat je in de weg zelf een middel uit te kiezen.

Helaas biedt dit model ook geen droogfunctie aan voor de gebruikte dweilpads. Ze worden wel schoongemaakt op het station, maar het duurt even voordat ze helemaal schoon en droog zijn voor de volgende ronde.

©Wesley Akkerman

©Wesley Akkerman

Maakt veel beter schoon

In vergelijking met de vorige versie maakt de Dreame L10s Ultra (2nd Gen) veel beter schoon langs randen. Dan bedoelen we langs de muren en plinten, maar ook de rand van een vloerkleed. Het gevaarte op wielen maakt dan kleine, schuine bewegingen heen en weer en rijdt kort van voren naar achteren om precies tot aan de rand schoon te kunnen maken. Het slaat in dat proces weinig tot geen stukken vloer over. Wel kan deze robotstofzuiger in een enkel geval nog wel eens met de natte dweil op het vloerkleed komen. Maar dat is niets om je zorgen om te maken.

Qua zuigkracht is het systeem er eveneens flink op vooruitgegaan, van 5300 Pa naar 10.000 Pa. Daardoor blijft er vrijwel geen stof achter op de plekken waar de Dreame L10s Ultra (2nd Gen) komt. Het kan zijn dat hij nog wel eens wat achterlaat op een hoogpolig kleed. Ook de hoekjes in huis worden niet superschoon, ondanks de uitschuifbare borstel. Maar eerlijk is eerlijk: de robot doet het veel beter dan de Dreame L10s Ultra. De borstel, gemaakt van kunststof, snijdt eventuele haren (van bijvoorbeeld huisdieren of jezelf, als je lang haar hebt) niet voor je kapot; dus je hebt zelf nog wat onderhoud aan het af en toe haarvrij maken van de borstel.

Overzichtelijke app

Dweilen gaat het systeem nog even goed af. Vooral voor het dagelijkse of wekelijkse onderhoud is de Dreame L10s Ultra (2nd Gen) uitermate geschikt, aangezien hij genadeloos afrekent met oppervlakkige vlekken. Als je wat meer hardnekkige viezigheid aan de vloer laat plakken, weet de robot daar ook nog wel raad mee. Vettigheid en opgedroogde troep kunnen echter een uitdaging vormen – waarschijnlijk omdat de stofzuiger geen gebruik maakt van warm water. De dweilpads zijn overigens eveneens uitschuifbaar, wat het schoonmaken ten goede komt.

Via de overzichtelijke app kun je heel snel bepalen hoeveel water en zeep de Dreame L10s Ultra (2nd Gen) moet gebruiken. Wellicht helpt het om die hoeveelheid aan te passen, waardoor hardnekkige viezigheid ook zou kunnen verdwijnen – maar meer water en zeep is geen garantie voor succes. Verder bepaal je in de app de zuigkracht, in welke mate de stofzuiger zijn rondes doet (met ruime of minder ruime bochten) en zie je hoe het gesteld is met de verschillende onderdelen. Met die laatste functionaliteit kun je goed zien wanneer iets aan vervanging toe is of wanneer je ergens een lapje over moet halen.

©Wesley Akkerman

©Wesley Akkerman

Dreame L10s Ultra (2nd Gen) kopen?

Tot slot is het goed om te zien dat de accu ruim drie uur meegaat. Dat is deels afhankelijk van de instellingen die je zelf prefereert, maar dan nog is het een zeer nette score. Dit voorkomt dat de robot lange omwegen moet maken om tussentijds op te laden, waardoor het werk sneller gedaan kan worden. Verder moet je qua onderhoud dus rekening houden met vastgelopen haren, de oprit (die snel vies wordt) en zowel de water- als zeepbakken. Niet heel veel meer dus dan bij duurdere modellen; maar vooral dat vastgelopen haar kan irritant worden.

Onderaan de streep vinden we dat Dreame met de Dreame L10s Ultra (2nd Gen) een fijne balans heeft gevonden tussen een uitgebreide en functionele robotstofzuiger en een redelijke prijs. De maximaal 700 euro die je betaalt, is geen immens hoog bedrag voor de prestaties die je in huis haalt. Je krijgt bovendien toegang tot allerlei premium functies, zoals uitschuifbare dweilpads en de borstel. Je moet er wel rekening mee houden dat je soms de dweil zelf even moet schoonmaken om de prestaties op hoog niveau te houden, maar verder vinden we deze robotstofzuiger top.

▼ Volgende artikel
Maakt je blender lawaai? Zo los je het op
© InsideCreativeHouse
Huis

Maakt je blender lawaai? Zo los je het op

Een blender of een keukenmachine maakt geluid, dat is nu eenmaal zo. Er zitten bewegende onderdelen in, en er komt flink wat kracht bij kijken. Maar wat als je blender meer lawaai maakt dan zou moeten? Gelukkig kun je dat vaak zelf oplossen. Hier lees je hoe.

In dit artikel lees je:

  • Waarom je blender zo'n herrie maakt
  • Dat dat eigenlijk best logisch is
  • Dat je er (misschien) toch iets aan kunt doen

Lees ook: 9 dingen die je óók met je blender kunt maken

Waarom maakt mijn blender lawaai? 

De messen van een blender draaien doorgaans in de rondte met zo'n 20.000 toeren per minuut – bijna tien keer zo veel als de wielen van je auto als je lekker aan het cruisen bent. Geen wonder dus dat daar wat geluid bij komt kijken. 

Oudere blenders maken vaak meer lawaai dan nieuwe, en hoe langer je je blender hebt, des te meer geluid hij gaat maken, omdat de onderdelen verouderd raken. Daar is verder weinig aan te doen, behalve een nieuwe blender kopen. 

Stille blenders

Er zijn steeds meer stille blenders op de markt, al blijven ze natuurlijk altijd geluid maken. Doorgaans geldt dat hoe krachtiger het model, des te hoger de geluidsproductie. Denk dus goed na of je wel de krachtigste blender nodig hebt, of dat je het met een simpeler – en stiller! – model af kan. 

Fabrikanten doen er ook steeds meer aan om het geluid tegen te houden, bijvoorbeeld door een geluidsreductiesysteem en een slimme vorm van de messen en de glazen kan. Nieuwer is niet altijd beter, maar in dit geval vaak wel. 

©HP

Resonantie

Een van de hoofdredenen van een luide blender is de resonantie in de rest van je keuken. Probeer je blender maar eens op te tillen tijdens het blenden: dan hoor je meteen een stuk minder. Dat komt doordat het geluid doordreunt in het keukenblad, of zelfs in de muren waar de blender bij in de buurt staat. 

Zorg er dus voor dat de blender zo vrij mogelijk staat, niet tegen de muur en er ook niet vlakbij. Je kunt ook tijdelijk een handdoek of theedoek onder de blender leggen om het doordreunen te voorkomen, al moet je er wel voor zorgen dat het apparaat waterpas blijft staan. 

Veel blenders en keukenmachines hebben zuignappen, zodat ze wel op hun plek blijven staan, maar niet direct met het aanrechtblad in aanraking komen. Dat scheelt ook weer een slok op een smoothie! 

Conclusie

Je blender maakt nu eenmaal geluid, daar is weinig aan te doen. Je kunt het wel binnen de perken houden door te zorgen dat de blender goed waterpas staat en dat alle onderdelen goed schoon zijn. Zet hem niet tegen of in de buurt van de muur, en zet hem eventueel op een handdoek of theedoek om de ergste trillingen te voorkomen. En anders kun je natuurlijk altijd op zoek gaan naar een nieuwe, stille blender.