Als piloot, wil ik dat mijn script de sensorwaarden van de drone uitleest, controleert en de verbinding daarna netjes sluit, zodat ik weet dat de waarden kloppen voordat ik erop vertrouw.
Je roept get_battery() aan
en ziet een getal. Maar welk type getal? Dat maakt uit als je er later mee rekent.
type() geeft antwoord.
Stop elke waarde in type() en Python vertelt je het type:
battery = tello.get_battery()
print(type(battery)) # <class 'int'>
height = tello.get_height()
print(type(height)) # <class 'int'>
Nu je weet dat het een int is, kun je het goed gebruiken:
print(f"Batterij: {battery}%") # f-string: werkt altijd
print("Batterij: " + str(battery) + "%") # str() converteert
Sprint 1 Β· US4
| Methode | Wat het doet | Geeft terug |
|---|---|---|
| tello.get_battery() | Leest het batterijpercentage van de drone. | int (0β100) |
| tello.get_height() | Leest de vlieghoogte in centimeters. | int (cm) |
| tello.get_temperature() | Leest de temperatuur van de drone in graden Celsius. | int (Β°C) |
Je schrijft dit:
battery = tello.get_battery()
print("Batterij: " + battery + "%") # leek logisch
En je krijgt:
TypeError: can only concatenate str (not "int") to str
get_battery() geeft een int terug, niet een string.
Je kunt een getal niet samenvoegen met tekst zonder het eerst om te zetten.
Had je dat vooraf geweten, dan had je direct str(battery) of een f-string gebruikt.
De les: controleer altijd het type van data die je van buiten krijgt. Sensordata is geen uitzondering.
De drone is verbonden. Typ de commando's en kijk welk type elke sensor teruggeeft.
battery = tello.get_battery() β sla de waarde op.type(battery) β welk type is het?print("Batterij: " + battery + "%") β probeer dit. Wat crasht?print(f"Batterij: {battery}%") β de goede manier.tello.get_height() en tello.get_temperature().Schrijf een script dat na het verbinden de batterij, hoogte en temperatuur opvraagt.
Voor elke waarde: druk het type af met type() Γ©n toon de waarde in een f-string.
Acceptatiecriteria
get_battery(), get_height() en get_temperature() op.type().+-concatenatie."Batterij: " + battery crasht maar f"Batterij: {battery}" niet.