Bird
Raised Fist0
Drone Programmingprogramming~20 mins

What is a drone (UAV) in Drone Programming - Practice Questions & Exercises

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Drone Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding the Basic Definition of a Drone (UAV)

Which of the following best describes what a drone (UAV) is?

AA ground vehicle controlled by a driver for transportation.
BA remotely controlled or autonomous flying device without a human pilot onboard.
CA manned aircraft used for commercial passenger flights.
DA type of satellite used for space communication.
Attempts:
2 left
💡 Hint

Think about what UAV stands for and what it means to be 'unmanned'.

❓ Predict Output
intermediate
2:00remaining
Output of a Simple Drone Status Check Program

What is the output of this Python code simulating a drone status check?

Drone Programming
class Drone:
    def __init__(self, battery_level):
        self.battery_level = battery_level
    def check_status(self):
        if self.battery_level > 20:
            return "Ready to fly"
        else:
            return "Battery low"

d = Drone(30)
print(d.check_status())
ANone
BBattery low
CError: battery_level undefined
DReady to fly
Attempts:
2 left
💡 Hint

Check the battery level value and the condition in the method.

🔧 Debug
advanced
2:00remaining
Identify the Error in Drone Flight Simulation Code

What error does this code produce when run?

Drone Programming
def fly(drone):
    if drone['status'] == 'ready':
        print('Drone is flying')
    else:
        print('Drone not ready')

fly({'status': 'ready'})
ASyntaxError due to missing colon after else
BNo error, prints 'Drone is flying'
CTypeError because drone is not a dictionary
DKeyError because 'status' key is missing
Attempts:
2 left
💡 Hint

Look carefully at the if-else syntax.

📝 Syntax
advanced
2:00remaining
Which Option Correctly Defines a Drone Class with a Takeoff Method?

Which of the following Python code snippets correctly defines a Drone class with a takeoff method that prints 'Taking off'?

A
class Drone:
    def takeoff(self):
        print('Taking off')
B
class Drone
    def takeoff(self):
        print('Taking off')
C
class Drone:
    def takeoff():
        print('Taking off')
D
class Drone:
    def takeoff(self):
    print('Taking off')
Attempts:
2 left
💡 Hint

Remember Python class and method syntax requires colons and indentation.

🚀 Application
expert
2:00remaining
Calculate Total Flight Time from Multiple Drone Missions

Given a list of drone mission durations in minutes, what is the total flight time?

missions = [15, 30, 45, 10]

Choose the correct Python code output.

Drone Programming
missions = [15, 30, 45, 10]
total_time = sum(missions)
print(total_time)
ATypeError
B90
C100
DNone
Attempts:
2 left
💡 Hint

Sum all numbers in the list.

Practice

(1/5)
1. What is a drone (UAV)?
easy
A. A flying robot controlled remotely or by code
B. A type of ground vehicle
C. A software program for computers
D. A stationary camera device

Solution

  1. Step 1: Understand the definition of a drone

    A drone, also called UAV, is a flying machine that can be controlled remotely or by programming.
  2. Step 2: Compare options with the definition

    Only A flying robot controlled remotely or by code matches this description; others describe different things.
  3. Final Answer:

    A flying robot controlled remotely or by code -> Option A
  4. Quick Check:

    Drone = flying robot [OK]
Hint: Remember: drone means flying robot [OK]
Common Mistakes:
  • Confusing drone with ground vehicles
  • Thinking drone is just software
  • Mixing drone with cameras
2. Which of these is the correct way to start a drone flying using code?
easy
A. drone.fly()
B. drone.takeoff()
C. drone.land()
D. drone.stop()

Solution

  1. Step 1: Identify the command to start flying

    The command takeoff() is used to make the drone lift off the ground.
  2. Step 2: Check other commands

    fly() is not a standard command; land() and stop() are for ending flight or stopping.
  3. Final Answer:

    <code>drone.takeoff()</code> -> Option B
  4. Quick Check:

    Takeoff starts flight [OK]
Hint: Takeoff means start flying [OK]
Common Mistakes:
  • Using fly() instead of takeoff()
  • Confusing land() with takeoff()
  • Using stop() to start flying
3. What will this code print if the drone successfully takes off and lands?
drone.takeoff()
print('Flying')
drone.land()
print('Landed')
medium
A. Landed Flying
B. Landed
C. Flying
D. Flying Landed

Solution

  1. Step 1: Follow the code execution order

    The code calls takeoff(), then prints 'Flying', then calls land(), then prints 'Landed'.
  2. Step 2: Understand print outputs

    Both print statements run in order, so output is 'Flying' then 'Landed' on separate lines.
  3. Final Answer:

    Flying Landed -> Option D
  4. Quick Check:

    Print order matches code order [OK]
Hint: Prints appear in code order [OK]
Common Mistakes:
  • Mixing print order
  • Assuming takeoff() prints output
  • Ignoring print statements
4. Find the error in this drone control code:
drone.takeoff()
drone.fly_to(10, 20)
drone.land()
medium
A. land() should be called before takeoff()
B. fly_to() is not a valid drone command
C. Missing drone initialization before commands
D. takeoff() should be after land()

Solution

  1. Step 1: Check if drone is ready before commands

    The code uses drone commands but does not show drone being initialized or connected.
  2. Step 2: Validate command sequence and names

    Commands takeoff(), fly_to(), and land() are valid if drone is ready; sequence is correct.
  3. Final Answer:

    Missing drone initialization before commands -> Option C
  4. Quick Check:

    Drone must be initialized first [OK]
Hint: Always initialize drone before commands [OK]
Common Mistakes:
  • Calling commands before setup
  • Thinking fly_to() is invalid
  • Reversing takeoff and land order
5. You want to program a drone to take off, fly to coordinates (5, 10), hover for 3 seconds, then land. Which code snippet correctly does this?
hard
A.
drone.takeoff()
drone.fly_to(5, 10)
drone.hover(3)
drone.land()
B.
drone.fly_to(5, 10)
drone.takeoff()
drone.hover(3)
drone.land()
C.
drone.takeoff()
drone.hover(3)
drone.fly_to(5, 10)
drone.land()
D.
drone.land()
drone.takeoff()
drone.fly_to(5, 10)
drone.hover(3)

Solution

  1. Step 1: Check the correct order of drone commands

    The drone must take off first, then fly to the location, hover, and finally land.
  2. Step 2: Verify each command sequence in options

    drone.takeoff()
    drone.fly_to(5, 10)
    drone.hover(3)
    drone.land()
    follows the correct order: takeoff, fly_to, hover, land. Others have wrong order.
  3. Final Answer:

    drone.takeoff()\ndrone.fly_to(5, 10)\ndrone.hover(3)\ndrone.land() -> Option A
  4. Quick Check:

    Correct command order =
    drone.takeoff()
    drone.fly_to(5, 10)
    drone.hover(3)
    drone.land()
    [OK]
Hint: Takeoff first, then fly, hover, land last [OK]
Common Mistakes:
  • Flying before takeoff
  • Landing before flying
  • Hovering before flying
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