Bird
Raised Fist0
Drone Programmingprogramming~10 mins

Testing failsafe scenarios in Drone Programming - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if the drone battery is low.

Drone Programming
if battery_level [1] 20:
    initiate_landing()
Drag options to blanks, or click blank then click option'
A>
B<
C>=
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' instead of '<' causes the drone to land when battery is high.
2fill in blank
medium

Complete the code to retry connection if signal strength is weak.

Drone Programming
if signal_strength [1] 30:
    retry_connection()
Drag options to blanks, or click blank then click option'
A>=
B<=
C<
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>=' causes retry even when signal is strong.
3fill in blank
hard

Fix the error in the failsafe check for obstacle distance.

Drone Programming
if obstacle_distance [1] 5:
    stop_movement()
Drag options to blanks, or click blank then click option'
A<
B>
C==
D<=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' causes the drone to stop when obstacle is far away.
4fill in blank
hard

Fill both blanks to create a failsafe that checks battery and signal before takeoff.

Drone Programming
if battery_level [1] 50 and signal_strength [2] 40:
    start_takeoff()
Drag options to blanks, or click blank then click option'
A>=
B<
C>
D<=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' for battery_level causes takeoff with low battery.
5fill in blank
hard

Fill all three blanks to create a failsafe dictionary filtering sensors with safe readings.

Drone Programming
safe_sensors = {sensor: reading for sensor, reading in sensors.items() if reading [1] [2] and reading [3] 100}
Drag options to blanks, or click blank then click option'
A>=
B0
C<=
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' instead of '>=' excludes zero readings.

Practice

(1/5)
1. What is the main purpose of testing failsafe scenarios in drone programming?
easy
A. To add more features to the drone's camera
B. To improve the drone's speed and flight time
C. To ensure the drone handles problems safely and avoids crashes
D. To make the drone fly higher than usual

Solution

  1. Step 1: Understand failsafe scenarios

    Failsafe scenarios are tests to check how the drone reacts to problems like lost connection or low battery.
  2. Step 2: Identify the main goal

    The main goal is to keep the drone safe and avoid crashes during these problems.
  3. Final Answer:

    To ensure the drone handles problems safely and avoids crashes -> Option C
  4. Quick Check:

    Failsafe = safety first [OK]
Hint: Failsafe means safety during problems [OK]
Common Mistakes:
  • Confusing failsafe with performance improvements
  • Thinking failsafe adds new features
  • Assuming failsafe makes drone fly higher
2. Which of the following code snippets correctly simulates a low battery failsafe check in drone programming?
easy
A. if battery_level < 20: initiate_landing()
B. if battery_level > 20: initiate_landing()
C. if battery_level == 100: initiate_landing()
D. if battery_level != 20: initiate_landing()

Solution

  1. Step 1: Understand the battery check condition

    Low battery means battery level is less than a safe threshold, here 20%.
  2. Step 2: Match condition to code

    Only 'if battery_level < 20:' correctly checks for low battery to start landing.
  3. Final Answer:

    if battery_level < 20: initiate_landing() -> Option A
  4. Quick Check:

    Low battery = less than 20% [OK]
Hint: Check if battery is below threshold to trigger landing [OK]
Common Mistakes:
  • Using greater than instead of less than
  • Checking for exact battery value
  • Using not equal instead of less than
3. Given the code below simulating a lost connection failsafe, what will be printed?
connection_status = "lost"
if connection_status == "lost":
    print("Return to home activated")
else:
    print("Continue flying")
medium
A. Return to home activated
B. Continue flying
C. No output
D. SyntaxError

Solution

  1. Step 1: Check the value of connection_status

    The variable connection_status is set to "lost".
  2. Step 2: Evaluate the if condition

    The condition 'connection_status == "lost"' is true, so the first print runs.
  3. Final Answer:

    Return to home activated -> Option A
  4. Quick Check:

    Lost connection triggers return home [OK]
Hint: Match variable value to if condition [OK]
Common Mistakes:
  • Confusing else output with if output
  • Assuming no output if condition true
  • Thinking code has syntax error
4. The following code is meant to trigger an emergency landing if the drone loses GPS signal, but it does not work as expected. What is the error?
gps_signal = False
if gps_signal = False:
    emergency_landing()
medium
A. The variable gps_signal is not defined
B. Missing parentheses after emergency_landing
C. gps_signal should be True to trigger landing
D. Using assignment '=' instead of comparison '==' in the if condition

Solution

  1. Step 1: Identify the if condition syntax

    The code uses 'if gps_signal = False:', which assigns False instead of comparing.
  2. Step 2: Correct the comparison operator

    It should be 'if gps_signal == False:' to check the value properly.
  3. Final Answer:

    Using assignment '=' instead of comparison '==' in the if condition -> Option D
  4. Quick Check:

    Use '==' for comparison, not '=' [OK]
Hint: Use '==' to compare, '=' to assign [OK]
Common Mistakes:
  • Confusing '=' and '==' in conditions
  • Forgetting parentheses on function calls
  • Assuming variable is undefined
5. You want to test a failsafe scenario where the drone must land immediately if either the battery is below 15% or the GPS signal is lost. Which code correctly implements this logic?
battery_level = 10
gps_signal = False
# Choose the correct condition to trigger landing
if _____:
    emergency_landing()
hard
A. battery_level < 15 and gps_signal == False
B. battery_level < 15 or gps_signal == False
C. battery_level > 15 or gps_signal == True
D. battery_level > 15 and gps_signal == True

Solution

  1. Step 1: Understand the condition requirements

    The drone should land if battery is below 15% OR GPS signal is lost (False).
  2. Step 2: Match logical operator to condition

    Use 'or' because either condition triggers landing, so 'battery_level < 15 or gps_signal == False'.
  3. Final Answer:

    battery_level < 15 or gps_signal == False -> Option B
  4. Quick Check:

    Use OR for either condition triggers landing [OK]
Hint: Use OR to combine multiple failsafe triggers [OK]
Common Mistakes:
  • Using AND instead of OR
  • Checking for battery > 15 instead of < 15
  • Confusing GPS signal True/False meaning
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard