Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Pre-flight checklist automation
📖 Scenario: You are preparing a drone for flight. To ensure safety, you need to check several important systems before takeoff. Automating this checklist helps avoid mistakes and saves time.
🎯 Goal: Build a simple program that stores the drone's system checks, sets a threshold for passing, filters which checks passed, and then displays the final list of passed checks.
📋 What You'll Learn
Create a dictionary called system_checks with exact keys and values for system names and their status scores
Create a variable called pass_threshold with the exact value 75
Use a dictionary comprehension called passed_checks to include only systems with scores greater than or equal to pass_threshold
Print the passed_checks dictionary exactly as shown
💡 Why This Matters
🌍 Real World
Automating pre-flight checks helps drone operators quickly verify that all important systems are ready, improving safety and efficiency.
💼 Career
Knowledge of filtering data and using dictionary comprehensions is useful for software developers working on automation, robotics, or embedded systems.
Progress0 / 4 steps
1
Create the system checks dictionary
Create a dictionary called system_checks with these exact entries: 'Battery': 80, 'Motors': 90, 'Sensors': 70, 'GPS': 85, 'Camera': 60
Drone Programming
Hint
Use curly braces {} to create the dictionary with the exact keys and values.
2
Set the pass threshold
Create a variable called pass_threshold and set it to the integer 75
Drone Programming
Hint
Just assign the number 75 to the variable pass_threshold.
3
Filter passed system checks
Use a dictionary comprehension called passed_checks to include only the systems from system_checks where the score is greater than or equal to pass_threshold
Drone Programming
Hint
Use {system: score for system, score in system_checks.items() if score >= pass_threshold} to filter.
4
Display the passed checks
Print the passed_checks dictionary exactly as it is
Drone Programming
Hint
Use print(passed_checks) to show the filtered dictionary.
Practice
(1/5)
1. What is the main purpose of automating a pre-flight checklist in drone programming?
easy
A. To improve safety and save time before flying
B. To make the drone fly faster
C. To change the drone's color automatically
D. To increase the drone's battery capacity
Solution
Step 1: Understand the goal of pre-flight checks
Pre-flight checks ensure the drone is safe and ready to fly.
Step 2: Identify automation benefits
Automating these checks saves time and reduces human error.
Final Answer:
To improve safety and save time before flying -> Option A
Quick Check:
Automation = Safety + Time saving [OK]
Hint: Think about safety and efficiency before flight [OK]
Common Mistakes:
Confusing automation with drone speed
Assuming automation changes hardware features
Ignoring safety as the main goal
2. Which of the following is the correct way to define a class in drone programming for a pre-flight checklist?
easy
A. PreFlightCheck = {}
B. def PreFlightCheck(): pass
C. class PreFlightCheck: pass
D. function PreFlightCheck() {}
Solution
Step 1: Identify class syntax in drone programming (Python style)
Classes are defined with the keyword 'class' followed by the name and colon.
Step 2: Check options for correct class definition
class PreFlightCheck: pass uses 'class PreFlightCheck: pass' which is valid syntax.
Final Answer:
class PreFlightCheck: pass -> Option C
Quick Check:
Class keyword + name + colon = correct class [OK]
Hint: Classes start with 'class' keyword and colon [OK]
Common Mistakes:
Using 'def' instead of 'class' for class definition
The steps are {'battery': True, 'motors': True, 'gps': False} so values are [True, True, False].
Step 2: Evaluate all() function on values
all() returns True only if all values are True; here one is False, so result is False.
Final Answer:
False -> Option A
Quick Check:
all([True, True, False]) = False [OK]
Hint: all() returns False if any value is False [OK]
Common Mistakes:
Assuming all() returns True if some values are True
Confusing dictionary keys with values
Expecting print to show dictionary instead of boolean
4. Identify the error in this pre-flight checklist code:
class PreFlight:
def __init__(self):
self.steps = {'battery': True, 'motors': True}
def check_all(self):
for step in self.steps:
if self.steps[step] = False:
return False
return True
pf = PreFlight()
print(pf.check_all())
medium
A. Indentation error in for loop
B. Missing return statement in check_all method
C. Incorrect dictionary initialization syntax
D. Syntax error: '=' used instead of '==' in if condition
Solution
Step 1: Check the if condition syntax
The line 'if self.steps[step] = False:' uses '=' which is assignment, not comparison.
Step 2: Correct syntax for comparison
It should be '==' to compare values, so 'if self.steps[step] == False:' is correct.
Final Answer:
Syntax error: '=' used instead of '==' in if condition -> Option D
Quick Check:
Use '==' for comparison, '=' causes syntax error [OK]
Hint: Use '==' for comparison, not '=' [OK]
Common Mistakes:
Using '=' instead of '==' in conditions
Forgetting to return a value
Misindenting loops or blocks
5. You want to extend the pre-flight checklist to automatically add a new step only if the drone has a camera. Which code snippet correctly adds this conditional step inside the class?
hard
A. self.steps['camera'] = self.has_camera
B. if self.has_camera == True:
self.steps['camera'] = True
C. self.steps['camera'] = True if self.has_camera else None
D. self.steps.append('camera') if self.has_camera else None
Solution
Step 1: Understand conditional addition of step
We add 'camera' step only if self.has_camera is True.
Step 2: Check syntax for condition and dictionary update
if self.has_camera == True:
self.steps['camera'] = True uses 'if self.has_camera == True:' and sets self.steps['camera'] = True, which is clear and correct.
Final Answer:
if self.has_camera == True:
self.steps['camera'] = True -> Option B
Quick Check:
Use if condition and dict assignment for conditional step [OK]
Hint: Use if condition with dict assignment for conditional steps [OK]