0
0
Drone Programmingprogramming~20 mins

Simulating missions before flight in Drone Programming - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Mission Simulation Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of mission simulation with waypoint delays
What is the output of this drone mission simulation code snippet?
Drone Programming
mission = ['takeoff', 'waypoint1', 'waypoint2', 'land']
results = []
for step in mission:
    if step == 'takeoff':
        results.append('Taking off')
    elif step.startswith('waypoint'):
        results.append(f'Reached {step}')
    elif step == 'land':
        results.append('Landing')
print(results)
A['Taking off', 'Reached waypoint1', 'Landing']
B['Taking off', 'waypoint1', 'waypoint2', 'Landing']
C['Taking off', 'Reached waypoint1', 'Reached waypoint2', 'Landing']
D['takeoff', 'Reached waypoint1', 'Reached waypoint2', 'land']
Attempts:
2 left
💡 Hint
Look at how each mission step is checked and what is appended to results.
🧠 Conceptual
intermediate
1:30remaining
Understanding simulation state updates
In a drone mission simulation, why is it important to update the drone's position state after each waypoint?
ATo avoid logging any mission data
BTo ensure the drone's battery level is reset after each waypoint
CTo speed up the simulation by skipping waypoints
DTo keep track of the drone's current location for accurate navigation and safety checks
Attempts:
2 left
💡 Hint
Think about what position information helps with during flight.
🔧 Debug
advanced
2:00remaining
Identify the error in mission simulation loop
What error will this mission simulation code produce when run?
Drone Programming
mission = ['takeoff', 'waypoint1', 'land']
for step in mission:
    if step == 'takeoff':
        print('Taking off')
    elif step.startswith('waypoint'):
        print(f'Reached {step}')
    elif step == 'land':
        print('Landing')
ASyntaxError due to incorrect assignment operator in if condition
BNameError because 'mission' is not defined
CTypeError because 'step' is not a string
DNo error, prints all steps correctly
Attempts:
2 left
💡 Hint
Check the if condition syntax carefully.
📝 Syntax
advanced
2:00remaining
Correct dictionary comprehension for mission status
Which option correctly creates a dictionary mapping each waypoint to its status 'pending' in a mission list?
Drone Programming
mission = ['takeoff', 'waypoint1', 'waypoint2', 'land']
A{wp: 'pending' for wp in mission if wp.startswith('waypoint')}
B{wp: 'pending' if wp.startswith('waypoint') for wp in mission}
C{wp: 'pending' for wp in mission if wp == 'waypoint'}
D{wp: 'pending' for wp in mission where wp.startswith('waypoint')}
Attempts:
2 left
💡 Hint
Remember the syntax for dictionary comprehensions with conditions.
🚀 Application
expert
2:30remaining
Calculate total mission duration from simulation data
Given this simulation log of mission steps with durations in seconds, what is the total mission time?
Drone Programming
simulation_log = [
  {'step': 'takeoff', 'duration': 5},
  {'step': 'waypoint1', 'duration': 10},
  {'step': 'waypoint2', 'duration': 15},
  {'step': 'land', 'duration': 7}
]
total_time = sum(entry['duration'] for entry in simulation_log)
print(total_time)
A35
B37
C40
D30
Attempts:
2 left
💡 Hint
Add all durations from each step in the log.