📖 Scenario: You are programming a drone's battery and power system. The drone needs to monitor its battery levels and decide when to return to base for charging. This project will help you create a simple program to track battery levels and power consumption.
🎯 Goal: Build a program that stores battery levels for different drone components, sets a minimum safe battery level, calculates which components are below this level, and prints a warning message for those components.
📋 What You'll Learn
Create a dictionary with battery levels for drone components
Set a minimum safe battery level variable
Use a dictionary comprehension to find components below the safe level
Print the components that need charging
💡 Why This Matters
🌍 Real World
Drones must monitor battery levels to avoid sudden power loss during flight, ensuring safe operation and timely charging.
💼 Career
Understanding battery and power management is essential for drone software developers and engineers working on autonomous flying devices.
Progress0 / 4 steps
1
Create battery levels dictionary
Create a dictionary called battery_levels with these exact entries: 'motors': 75, 'camera': 40, 'gps': 55, 'lights': 20, 'sensors': 65
Drone Programming
Hint
Use curly braces {} to create a dictionary with keys and values separated by colons.
2
Set minimum safe battery level
Create a variable called min_safe_level and set it to 50
Drone Programming
Hint
Just assign the number 50 to the variable min_safe_level.
3
Find components below safe level
Use a dictionary comprehension to create a dictionary called low_battery that contains only the components from battery_levels with values less than min_safe_level
Drone Programming
Hint
Use {key: value for key, value in dict.items() if condition} format.
4
Print components needing charging
Write a print statement to display the text "Components needing charging:" followed by the low_battery dictionary
Drone Programming
Hint
Use print("Components needing charging:", low_battery) to show the result.
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
Step 1: Understand the battery's role
A battery stores electrical energy that powers the drone's motors and electronics.
Step 2: Compare options to battery function
Only storing energy matches the battery's main purpose; other options describe different parts.
Final Answer:
To store energy so the drone can fly -> Option C
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
Step 1: Identify correct comparison operator
To check if battery is below 20%, use less than operator: <.
Step 2: Check syntax correctness
if battery_level < 20: uses correct syntax and operator; others use assignment (=), wrong comparison (>), or wrong type ('20%').
Final Answer:
if battery_level < 20: -> Option B
Quick Check:
Use < for less than check [OK]
Hint: Use '<' to check if battery is below threshold [OK]
Since 15 < 20 is True, the code prints 'Warning: Low battery'.
Final Answer:
Warning: Low battery -> Option D
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
Step 1: Check the if statement syntax
The code uses '=' which is assignment, not comparison.
Step 2: Correct comparison operator
To compare, '==' must be used, so 'if battery_level == 10:' is correct.
Final Answer:
Using '=' instead of '==' for comparison -> Option A
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
Step 1: Understand the condition for safe flight
Safe to fly if battery level is 30% or more means level >= 30.
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.
Final Answer:
def check_battery(level):
if level >= 30:
return 'Safe to fly'
else:
return 'Charge battery' -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.