Bird
Raised Fist0
Drone Programmingprogramming~20 mins

Receiving telemetry data in Drone Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Telemetry Data Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of telemetry data parsing
What is the output of this code that parses telemetry data from a drone?
Drone Programming
telemetry = {'altitude': 1200, 'speed': 45, 'battery': 78}
status = f"Altitude: {telemetry['altitude']}m, Speed: {telemetry['speed']}km/h, Battery: {telemetry['battery']}%"
print(status)
AAltitude: 1200, Speed: 45, Battery: 78
BAltitude: 1200m Speed: 45km/h Battery: 78%
CAltitude: 1200m, Speed: 45km/h, Battery: 78%
DAltitude: 1200m, Speed: 45km/h, Battery: 100%
Attempts:
2 left
💡 Hint
Look carefully at the formatting in the f-string and the values accessed from the dictionary.
🧠 Conceptual
intermediate
1:30remaining
Understanding telemetry data update frequency
If a drone sends telemetry data every 500 milliseconds, how many telemetry updates will be received in 5 seconds?
A10
B20
C5
D50
Attempts:
2 left
💡 Hint
Calculate how many 500ms intervals fit into 5 seconds.
🔧 Debug
advanced
2:00remaining
Identify the error in telemetry data extraction
What error does this code raise when trying to access telemetry data?
Drone Programming
telemetry = {'altitude': 300, 'speed': 60}
print(telemetry['battery'])
AKeyError
BTypeError
CValueError
DIndexError
Attempts:
2 left
💡 Hint
Check if the key 'battery' exists in the dictionary.
📝 Syntax
advanced
1:30remaining
Syntax error in telemetry data processing
Which option contains the correct syntax to update the battery level in the telemetry dictionary?
Drone Programming
telemetry = {'altitude': 500, 'speed': 30, 'battery': 90}
Atelemetry->battery = 85
Btelemetry.battery = 85
Ctelemetry['battery'] := 85
Dtelemetry['battery'] = 85
Attempts:
2 left
💡 Hint
Remember how to update dictionary values in Python.
🚀 Application
expert
2:30remaining
Calculate average speed from telemetry data list
Given a list of telemetry speed readings, which option correctly calculates the average speed?
Drone Programming
speeds = [40, 45, 50, 55, 60]
Aaverage = sum(speeds) // len(speeds)
Baverage = sum(speeds) / len(speeds)
Caverage = max(speeds) - min(speeds)
Daverage = speeds[len(speeds)//2]
Attempts:
2 left
💡 Hint
Average speed is total speed divided by number of readings.

Practice

(1/5)
1.

What does telemetry data from a drone usually include?

easy
A. Information about the drone's position and battery status
B. The drone's color and shape
C. The pilot's personal details
D. The weather forecast for the day

Solution

  1. Step 1: Understand telemetry data purpose

    Telemetry data provides real-time information about the drone's current state.
  2. Step 2: Identify typical telemetry contents

    Common telemetry includes position coordinates and battery level, not unrelated info like color or weather.
  3. Final Answer:

    Information about the drone's position and battery status -> Option A
  4. Quick Check:

    Telemetry = position + battery [OK]
Hint: Telemetry means drone status info like position and battery [OK]
Common Mistakes:
  • Confusing telemetry with unrelated data like weather
  • Thinking telemetry includes pilot personal info
  • Assuming telemetry is about drone appearance
2.

Which of the following is the correct way to receive telemetry data from a drone object named drone?

?
easy
A. telemetry = drone.receiveTelemetry
B. telemetry = drone.get_telemetry()
C. telemetry = get_telemetry(drone)
D. telemetry = drone.telemetry()

Solution

  1. Step 1: Identify method call syntax

    To call a method on an object, use dot notation with parentheses: object.method()
  2. Step 2: Match method name exactly

    The correct method is get_telemetry(), so drone.get_telemetry() is correct.
  3. Final Answer:

    telemetry = drone.get_telemetry() -> Option B
  4. Quick Check:

    Method call syntax = drone.get_telemetry() [OK]
Hint: Use dot and parentheses to call get_telemetry() method [OK]
Common Mistakes:
  • Missing parentheses when calling method
  • Using wrong method name or syntax
  • Trying to call method without object
3.

What will be the output of this code snippet?

drone = Drone()
telemetry = drone.get_telemetry()
print(telemetry['battery'])

Assume get_telemetry() returns {'position': (10, 20), 'battery': 85}.

medium
A. 10
B. (10, 20)
C. Error
D. 85

Solution

  1. Step 1: Understand returned telemetry dictionary

    The telemetry dictionary has keys 'position' and 'battery' with values (10, 20) and 85 respectively.
  2. Step 2: Access the 'battery' key value

    Printing telemetry['battery'] outputs 85, the battery percentage.
  3. Final Answer:

    85 -> Option D
  4. Quick Check:

    telemetry['battery'] = 85 [OK]
Hint: Access dictionary key 'battery' to get battery level [OK]
Common Mistakes:
  • Confusing 'position' with 'battery' key
  • Trying to print telemetry without key
  • Assuming output is a tuple instead of number
4.

Find the error in this code that tries to print the drone's position from telemetry data:

telemetry = drone.get_telemetry()
print(telemetry.position)
medium
A. Accessing dictionary key with dot notation causes error
B. telemetry is not defined
C. Missing parentheses in get_telemetry call
D. print statement syntax is wrong

Solution

  1. Step 1: Check how telemetry data is accessed

    Telemetry is a dictionary, so keys must be accessed with square brackets, not dot notation.
  2. Step 2: Identify the error cause

    Using telemetry.position causes an AttributeError because dictionaries don't support dot notation.
  3. Final Answer:

    Accessing dictionary key with dot notation causes error -> Option A
  4. Quick Check:

    Dictionary keys need brackets, not dots [OK]
Hint: Use brackets [] to access dictionary keys, not dot . [OK]
Common Mistakes:
  • Using dot notation on dictionary keys
  • Forgetting parentheses on method call
  • Assuming telemetry is an object with attributes
5.

You want to check if the drone's battery is below 20% and print a warning. Which code correctly does this using telemetry data?

telemetry = drone.get_telemetry()
?
hard
A. if telemetry['battery'] > 20: print('Warning: Low battery!')
B. if telemetry.battery < 20: print('Warning: Low battery!')
C. if telemetry['battery'] < 20: print('Warning: Low battery!')
D. if drone.battery < 20: print('Warning: Low battery!')

Solution

  1. Step 1: Access battery level correctly from telemetry

    Telemetry is a dictionary, so use square brackets: telemetry['battery'].
  2. Step 2: Write condition to check if battery is below 20

    The condition should be < 20 to detect low battery and print warning.
  3. Final Answer:

    if telemetry['battery'] < 20: print('Warning: Low battery!') -> Option C
  4. Quick Check:

    Check battery < 20 with brackets [OK]
Hint: Use telemetry['battery'] < 20 to check low battery [OK]
Common Mistakes:
  • Using dot notation to access battery
  • Checking battery > 20 instead of < 20
  • Accessing battery directly from drone object