Challenge - 5 Problems
Waypoint Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of waypoint list creation
What is the output of this code that creates a list of waypoints with latitude and longitude?
Drone Programming
waypoints = [] for i in range(3): waypoint = {'lat': 40.0 + i*0.01, 'lon': -74.0 - i*0.01} waypoints.append(waypoint) print(waypoints)
Attempts:
2 left
💡 Hint
Look at how latitude and longitude change with each loop iteration.
✗ Incorrect
The loop adds 0.01 to latitude and subtracts 0.01 from longitude each time, creating three distinct waypoints.
🧠 Conceptual
intermediate1:30remaining
Understanding waypoint altitude setting
In a waypoint mission, why is it important to set the altitude for each waypoint?
Attempts:
2 left
💡 Hint
Think about what altitude controls in drone flight.
✗ Incorrect
Altitude controls the height of the drone, which is critical for obstacle avoidance and safe flight.
🔧 Debug
advanced2:30remaining
Identify the error in waypoint mission code
What error will this code produce when creating waypoints for a mission?
Drone Programming
waypoints = [{'lat': 40.0, 'lon': -74.0}, {'lat': 40.01, 'lon': -74.01}]
for wp in waypoints:
wp['alt'] = 100
wp = {'lat': 41.0, 'lon': -75.0, 'alt': 150}
print(waypoints)Attempts:
2 left
💡 Hint
Consider what happens when you assign a new dictionary to the loop variable.
✗ Incorrect
Assigning a new dictionary to 'wp' inside the loop does not change the original list elements; only the 'alt' key is added to each original waypoint.
📝 Syntax
advanced1:30remaining
Syntax error in waypoint mission dictionary comprehension
Which option correctly creates a dictionary of waypoints with keys as indices and values as lat-lon tuples?
Drone Programming
waypoints = {i: (40.0 + i*0.01, -74.0 - i*0.01) for i in range(3)}Attempts:
2 left
💡 Hint
Check the correct syntax for dictionary comprehensions in Python.
✗ Incorrect
Option A uses the correct syntax: {key: value for variable in iterable}. Other options have syntax errors.
🚀 Application
expert3:00remaining
Calculate total mission distance from waypoints
Given a list of waypoints with latitude and longitude, which code correctly calculates the total straight-line distance (in degrees) between consecutive waypoints?
Drone Programming
waypoints = [{'lat': 40.0, 'lon': -74.0}, {'lat': 40.01, 'lon': -74.01}, {'lat': 40.02, 'lon': -74.02}]
total_distance = 0
for i in range(len(waypoints)-1):
wp1 = waypoints[i]
wp2 = waypoints[i+1]
dist = ((wp2['lat'] - wp1['lat'])**2 + (wp2['lon'] - wp1['lon'])**2)**0.5
total_distance += dist
print(round(total_distance, 5))Attempts:
2 left
💡 Hint
Use the Pythagorean theorem to find distance between points.
✗ Incorrect
Each segment distance is sqrt((0.01)^2 + (0.01)^2) = 0.014142, total for two segments is 0.028284, rounded to 0.02828.