Bird
Raised Fist0
Drone Programmingprogramming~10 mins

Arming and disarming sequence 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 arm the drone safely.

Drone Programming
if drone.[1]():
    print("Drone is armed.")
Drag options to blanks, or click blank then click option'
Aarm
Btakeoff
Cdisarm
Dland
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'disarm()' instead of 'arm()' will not arm the drone.
Using 'takeoff()' before arming causes errors.
2fill in blank
medium

Complete the code to disarm the drone after landing.

Drone Programming
if drone.[1]():
    print("Drone is disarmed.")
Drag options to blanks, or click blank then click option'
Aarm
Bdisarm
Cland
Dtakeoff
Attempts:
3 left
💡 Hint
Common Mistakes
Calling 'arm()' instead of 'disarm()' will keep the drone powered.
Calling 'takeoff()' instead of 'disarm()' is incorrect here.
3fill in blank
hard

Fix the error in the arming check condition.

Drone Programming
if drone.[1]() == True:
    print("Drone armed successfully.")
Drag options to blanks, or click blank then click option'
Atakeoff()
Barm()
Cdisarm()
Dis_armed()
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'arm()' in condition calls the arming action instead of checking status.
Using 'disarm()' or 'takeoff()' in condition is incorrect.
4fill in blank
hard

Fill both blanks to safely arm and take off the drone.

Drone Programming
if drone.[1]():
    drone.[2]()
Drag options to blanks, or click blank then click option'
Aarm
Bdisarm
Ctakeoff
Dland
Attempts:
3 left
💡 Hint
Common Mistakes
Calling 'disarm()' before takeoff causes failure.
Calling 'land()' instead of 'takeoff()' will not make the drone fly.
5fill in blank
hard

Fill all three blanks to check if the drone is armed, land it, and then disarm.

Drone Programming
if drone.[1]():
    drone.[2]()
    drone.[3]()
Drag options to blanks, or click blank then click option'
Aarm
Bland
Cdisarm
Dis_armed
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'arm()' instead of 'is_armed()' in the condition.
Calling 'takeoff()' instead of 'land()' before disarming.

Practice

(1/5)
1. What does arming a drone do in the flight sequence?
easy
A. Prepares the drone's motors to start spinning for flight
B. Stops the drone's motors immediately
C. Turns off the drone's power completely
D. Calibrates the drone's sensors automatically

Solution

  1. Step 1: Understand the meaning of arming

    Arming means getting the drone ready to fly by enabling its motors to spin.
  2. Step 2: Differentiate arming from disarming

    Disarming stops the motors, so arming must be the opposite: preparing motors to start.
  3. Final Answer:

    Prepares the drone's motors to start spinning for flight -> Option A
  4. Quick Check:

    Arming = prepare motors [OK]
Hint: Arming means motors ready to spin, not stop [OK]
Common Mistakes:
  • Confusing arming with disarming
  • Thinking arming turns off power
  • Assuming arming calibrates sensors
2. Which of the following is the correct syntax to arm a drone using a function call in drone programming?
easy
A. armDrone{}
B. armDrone()
C. arm drone()
D. arm_drone[]

Solution

  1. Step 1: Identify correct function call syntax

    Function calls use the format functionName() with parentheses and no spaces.
  2. Step 2: Check each option

    armDrone() uses correct syntax: armDrone() with parentheses and no spaces.
  3. Final Answer:

    armDrone() -> Option B
  4. Quick Check:

    Function call = name() [OK]
Hint: Functions always use parentheses () to call [OK]
Common Mistakes:
  • Using brackets [] or braces {} instead of parentheses
  • Adding spaces inside function name
  • Missing parentheses in function call
3. Given the code snippet:
drone_state = {'armed': False}

def arm():
    if not drone_state['armed']:
        drone_state['armed'] = True
        return 'Drone armed'
    else:
        return 'Drone already armed'

print(arm())
print(arm())

What is the output?
medium
A. Drone already armed\nDrone armed
B. Drone armed\nDrone armed
C. Drone armed\nDrone already armed
D. Error: KeyError

Solution

  1. Step 1: Check initial drone state

    Initially, drone_state['armed'] is False, so first call to arm() sets it to True and returns 'Drone armed'.
  2. Step 2: Analyze second call to arm()

    Now drone_state['armed'] is True, so second call returns 'Drone already armed'.
  3. Final Answer:

    Drone armed\nDrone already armed -> Option C
  4. Quick Check:

    First arm sets True, second arm detects already armed [OK]
Hint: First call arms, second call detects armed state [OK]
Common Mistakes:
  • Assuming both calls arm the drone again
  • Confusing the boolean check logic
  • Expecting a KeyError due to dictionary access
4. The following code is intended to disarm the drone, but it causes an error:
drone_state = {'armed': True}

def disarm():
    if drone_state['armed'] = True:
        drone_state['armed'] = False
        return 'Drone disarmed'
    else:
        return 'Drone already disarmed'

print(disarm())

What is the error and how to fix it?
medium
A. KeyError: 'armed' key missing in drone_state
B. IndentationError: Incorrect indentation in function
C. TypeError: Cannot assign boolean to dictionary key
D. SyntaxError: Use '==' for comparison instead of '='

Solution

  1. Step 1: Identify the error in the if condition

    The code uses '=' which is assignment, not comparison. This causes a SyntaxError.
  2. Step 2: Correct the comparison operator

    Replace '=' with '==' to compare drone_state['armed'] to True.
  3. Final Answer:

    SyntaxError: Use '==' for comparison instead of '=' -> Option D
  4. Quick Check:

    Comparison needs '==' not '=' [OK]
Hint: Use '==' to compare values, '=' to assign [OK]
Common Mistakes:
  • Using '=' instead of '==' in conditions
  • Assuming dictionary key is missing
  • Confusing indentation errors with syntax errors
5. You want to write a function toggle_arm() that arms the drone if disarmed, and disarms if armed. Given drone_state = {'armed': False}, which code correctly implements this behavior?
hard
A. def toggle_arm(): drone_state['armed'] = not drone_state['armed'] return 'Drone armed' if drone_state['armed'] else 'Drone disarmed'
B. def toggle_arm(): if drone_state['armed'] == False: drone_state['armed'] = False return 'Drone disarmed' else: drone_state['armed'] = True return 'Drone armed'
C. def toggle_arm(): if not drone_state['armed']: drone_state['armed'] = False return 'Drone disarmed' else: drone_state['armed'] = True return 'Drone armed'
D. def toggle_arm(): drone_state['armed'] = True return 'Drone armed' drone_state['armed'] = False return 'Drone disarmed'

Solution

  1. Step 1: Understand toggle logic

    Toggle means switch state: if armed, disarm; if disarmed, arm.
  2. Step 2: Check each option's logic

    def toggle_arm(): drone_state['armed'] = not drone_state['armed'] return 'Drone armed' if drone_state['armed'] else 'Drone disarmed' uses 'not' to flip boolean and returns correct message based on new state.
  3. Final Answer:

    def toggle_arm(): drone_state['armed'] = not drone_state['armed'] return 'Drone armed' if drone_state['armed'] else 'Drone disarmed' -> Option A
  4. Quick Check:

    Toggle by flipping boolean with 'not' [OK]
Hint: Use 'not' to flip armed state quickly [OK]
Common Mistakes:
  • Not flipping the state correctly
  • Returning wrong message after toggle
  • Code after return statement ignored
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