Bird
Raised Fist0
Drone Programmingprogramming~20 mins

Battery and power system in Drone Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Battery and Power Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
1:30remaining
Calculate Remaining Battery Percentage
What is the output of this code that calculates the remaining battery percentage after a flight segment?
Drone Programming
battery_capacity = 5000  # in mAh
used_capacity = 1250
remaining_percentage = (battery_capacity - used_capacity) / battery_capacity * 100
print(f"Remaining battery: {remaining_percentage:.1f}%")
ARemaining battery: 80.0%
BRemaining battery: 25.0%
CRemaining battery: 75.0%
DRemaining battery: 50.0%
Attempts:
2 left
💡 Hint
Remember to subtract used capacity from total capacity before calculating percentage.
🧠 Conceptual
intermediate
1:30remaining
Battery Voltage and Power Output
If a drone battery outputs 11.1 volts and the drone consumes 20 amps, what is the power output in watts?
A222 watts
B31.1 watts
C2200 watts
D2.22 watts
Attempts:
2 left
💡 Hint
Power (watts) = Voltage (volts) × Current (amps).
🔧 Debug
advanced
2:00remaining
Identify the Error in Battery Status Update Code
What error does this code raise when updating the battery status?
Drone Programming
battery_status = {'voltage': 11.1, 'current': 20}
# Update voltage
battery_status['voltage'] = 11.5
# Calculate power output
power_output = battery_status['voltage'] * battery_status['current']
print(power_output)
ANo error, prints 230.0
BKeyError: 'voltage'
CTypeError: unsupported operand type(s) for *: 'str' and 'int'
DAttributeError: 'dict' object has no attribute 'voltage'
Attempts:
2 left
💡 Hint
Check how dictionary keys are accessed in Python.
📝 Syntax
advanced
1:30remaining
Find the Syntax Error in Battery Check Function
Which option contains the correct syntax for this battery check function?
Drone Programming
def check_battery_level(level):
    if level < 20
        return "Low battery"
    else:
        return "Battery OK"
A
def check_battery_level(level):
    if level &lt; 20
        return "Low battery"
    else
        return "Battery OK"
B
def check_battery_level(level):
    if level &lt; 20:
        return "Low battery"
    else:
        return "Battery OK"
C
def check_battery_level(level):
    if level &lt; 20:
    return "Low battery"
    else:
        return "Battery OK"
D
def check_battery_level(level):
    if level &lt; 20:
        return "Low battery"
    else
        return "Battery OK"
Attempts:
2 left
💡 Hint
Remember to put a colon ':' after the if condition.
🚀 Application
expert
2:30remaining
Calculate Flight Time Based on Battery and Power Consumption
Given a drone battery capacity of 6000 mAh and an average current draw of 15 amps at 11.1 volts, what is the approximate flight time in minutes? (Assume 1 Ah = 1000 mAh and ignore efficiency losses.)
A24 minutes
B44 minutes
C40 minutes
D22 minutes
Attempts:
2 left
💡 Hint
Convert mAh to Ah, then divide capacity by current draw to get hours, then convert to minutes.

Practice

(1/5)
1. What is the main purpose of a battery in a drone?
easy
A. To send signals to the controller
B. To control the drone's speed
C. To store energy so the drone can fly
D. To cool down the drone's motors

Solution

  1. Step 1: Understand the battery's role

    A battery stores electrical energy that powers the drone's motors and electronics.
  2. Step 2: Compare options to battery function

    Only storing energy matches the battery's main purpose; other options describe different parts.
  3. Final Answer:

    To store energy so the drone can fly -> Option C
  4. Quick Check:

    Battery = Energy storage [OK]
Hint: Battery stores energy for flight power [OK]
Common Mistakes:
  • Confusing battery with motor controller
  • Thinking battery controls speed
  • Mixing battery with communication parts
2. Which of the following is the correct way to check if the battery level is below 20% in drone code?
easy
A. if battery_level == '20%':
B. if battery_level < 20:
C. if battery_level > 20:
D. if battery_level = 20:

Solution

  1. Step 1: Identify correct comparison operator

    To check if battery is below 20%, use less than operator: <.
  2. Step 2: Check syntax correctness

    if battery_level < 20: uses correct syntax and operator; others use assignment (=), wrong comparison (>), or wrong type ('20%').
  3. Final Answer:

    if battery_level < 20: -> Option B
  4. Quick Check:

    Use < for less than check [OK]
Hint: Use '<' to check if battery is below threshold [OK]
Common Mistakes:
  • Using '=' instead of '==' or '<'
  • Comparing to string '20%'
  • Using '>' instead of '<'
3. What will be the output of this code snippet?
battery_level = 15
if battery_level < 20:
    print('Warning: Low battery')
else:
    print('Battery level OK')
medium
A. Battery level OK
B. No output
C. SyntaxError
D. Warning: Low battery

Solution

  1. Step 1: Check battery_level value

    battery_level is 15, which is less than 20.
  2. Step 2: Evaluate the if condition

    Since 15 < 20 is True, the code prints 'Warning: Low battery'.
  3. Final Answer:

    Warning: Low battery -> Option D
  4. Quick Check:

    15 < 20 triggers warning [OK]
Hint: Compare battery_level to 20 to decide output [OK]
Common Mistakes:
  • Confusing output messages
  • Thinking 15 is not less than 20
  • Expecting syntax error
4. Identify the error in this drone battery check code:
if battery_level = 10:
    print('Battery low')
medium
A. Using '=' instead of '==' for comparison
B. Missing colon ':' after if statement
C. battery_level should be a string
D. print statement syntax is wrong

Solution

  1. Step 1: Check the if statement syntax

    The code uses '=' which is assignment, not comparison.
  2. Step 2: Correct comparison operator

    To compare, '==' must be used, so 'if battery_level == 10:' is correct.
  3. Final Answer:

    Using '=' instead of '==' for comparison -> Option A
  4. Quick Check:

    Use '==' to compare values [OK]
Hint: Use '==' to compare, not '=' [OK]
Common Mistakes:
  • Using '=' in if condition
  • Forgetting colon
  • Wrong print syntax
5. You want to write a function that returns 'Safe to fly' if battery level is 30% or more, and 'Charge battery' otherwise. Which code correctly implements this?
hard
A. def check_battery(level): if level >= 30: return 'Safe to fly' else: return 'Charge battery'
B. def check_battery(level): if level > 30: return 'Charge battery' else: return 'Safe to fly'
C. def check_battery(level): if level == 30: return 'Safe to fly' else: return 'Charge battery'
D. def check_battery(level): if level <= 30: return 'Safe to fly' else: return 'Charge battery'

Solution

  1. Step 1: Understand the condition for safe flight

    Safe to fly if battery level is 30% or more means level >= 30.
  2. Step 2: Check each option's logic

    def check_battery(level): if level >= 30: return 'Safe to fly' else: return 'Charge battery' correctly returns 'Safe to fly' when level >= 30, else 'Charge battery'. Others reverse or misapply conditions.
  3. Final Answer:

    def check_battery(level): if level >= 30: return 'Safe to fly' else: return 'Charge battery' -> Option A
  4. Quick Check:

    Use >= 30 for safe flight check [OK]
Hint: Use '>=' to include 30% as safe [OK]
Common Mistakes:
  • Using '>' instead of '>='
  • Reversing return messages
  • Checking only equality
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