Bird
Raised Fist0
Drone Programmingprogramming~30 mins

Inspection of infrastructure in Drone Programming - Mini Project: Build & Apply

Choose your learning style10 modes available
Inspection of Infrastructure
📖 Scenario: You are programming a drone to inspect a set of infrastructure points such as bridges, towers, and pipelines. The drone needs to check each point's status and decide if it requires maintenance based on a damage score.
🎯 Goal: Build a simple program that stores infrastructure points with their damage scores, sets a damage threshold, filters points that need maintenance, and prints the list of points requiring maintenance.
📋 What You'll Learn
Create a dictionary with infrastructure points and their damage scores
Set a damage threshold value
Use a loop or comprehension to find points needing maintenance
Print the list of points that require maintenance
💡 Why This Matters
🌍 Real World
Drones inspecting infrastructure help find problems early to keep bridges, towers, and pipelines safe.
💼 Career
This project shows how to process sensor data and make decisions, skills useful for drone programming and maintenance automation jobs.
Progress0 / 4 steps
1
Create infrastructure data
Create a dictionary called infrastructure with these exact entries: 'Bridge A': 3, 'Tower B': 7, 'Pipeline C': 5, 'Bridge D': 2, 'Tower E': 8
Drone Programming
Hint

Use curly braces {} to create a dictionary with keys as point names and values as damage scores.

2
Set damage threshold
Create a variable called damage_threshold and set it to 5
Drone Programming
Hint

Just assign the number 5 to the variable damage_threshold.

3
Find points needing maintenance
Create a list called needs_maintenance that contains the names of points from infrastructure where the damage score is greater than damage_threshold. Use a list comprehension with point and score as variables in for point, score in infrastructure.items()
Drone Programming
Hint

Use a list comprehension to check each score and include the point if the score is greater than damage_threshold.

4
Print points needing maintenance
Write a print statement to display the list needs_maintenance
Drone Programming
Hint

Use print(needs_maintenance) to show the points that need maintenance.

Practice

(1/5)
1. What is the main purpose of using a drone's inspect() function in infrastructure inspection?
easy
A. To control the drone's speed during flight
B. To repair damaged parts of the infrastructure
C. To send the drone to a specific location for inspection
D. To charge the drone's battery automatically

Solution

  1. Step 1: Understand the function purpose

    The inspect() function is designed to send the drone to a location for inspection.
  2. Step 2: Compare options with function role

    Only To send the drone to a specific location for inspection matches the purpose of sending the drone to inspect infrastructure.
  3. Final Answer:

    To send the drone to a specific location for inspection -> Option C
  4. Quick Check:

    inspect() sends drone to location = A [OK]
Hint: Remember: inspect() means 'go check there' [OK]
Common Mistakes:
  • Confusing inspect() with repair functions
  • Thinking inspect() controls speed
  • Assuming inspect() charges battery
2. Which of the following is the correct syntax to capture an image during a drone inspection?
easy
A. drone.captureImage()
B. drone.capture-Image()
C. drone.captureimage()
D. drone.capture_image()

Solution

  1. Step 1: Identify correct method naming style

    In drone programming, method names use lowercase with underscores for readability.
  2. Step 2: Match options to correct style

    drone.capture_image() uses capture_image(), which is the correct syntax.
  3. Final Answer:

    drone.capture_image() -> Option D
  4. Quick Check:

    Method names use underscores = D [OK]
Hint: Use underscores for multi-word method names [OK]
Common Mistakes:
  • Using camelCase instead of snake_case
  • Omitting underscores between words
  • Using invalid characters like hyphens
3. What will be the output of this code snippet?
drone.inspect('bridge')
image = drone.capture_image()
print(image)
medium
A. SyntaxError
B. 'bridge_image.jpg'
C. None
D. 'image captured'

Solution

  1. Step 1: Understand the inspect and capture_image functions

    The inspect('bridge') sends the drone to the bridge, and capture_image() takes a photo and returns the filename.
  2. Step 2: Analyze the print output

    Printing image shows the filename string, which is 'bridge_image.jpg'.
  3. Final Answer:

    'bridge_image.jpg' -> Option B
  4. Quick Check:

    capture_image() returns filename = C [OK]
Hint: capture_image() returns filename string [OK]
Common Mistakes:
  • Expecting a boolean or None instead of filename
  • Confusing print output with status messages
  • Assuming syntax error without checking code
4. Identify the error in this drone inspection code:
drone.inspect('tower')
image = drone.captureImage()
print(image)
medium
A. Method name should be capture_image(), not captureImage()
B. Missing parentheses after inspect
C. print() cannot print variables
D. inspect() requires two arguments

Solution

  1. Step 1: Check method names for correct syntax

    The method captureImage() is incorrect; it should be capture_image() using underscores.
  2. Step 2: Verify other code parts

    inspect('tower') is correct with parentheses and one argument; print() can print variables.
  3. Final Answer:

    Method name should be capture_image(), not captureImage() -> Option A
  4. Quick Check:

    Method names use underscores = A [OK]
Hint: Check method names carefully for underscores [OK]
Common Mistakes:
  • Using camelCase instead of snake_case
  • Thinking print() can't print variables
  • Assuming inspect needs two arguments
5. You want the drone to inspect multiple infrastructure points and save images with names matching each point. Which code correctly does this?
points = ['bridge', 'tower', 'dam']
images = {}
for point in points:
    drone.inspect(point)
    images[point] = drone.capture_image()
print(images)
hard
A. {'bridge': 'bridge_image.jpg', 'tower': 'tower_image.jpg', 'dam': 'dam_image.jpg'}
B. ['bridge_image.jpg', 'tower_image.jpg', 'dam_image.jpg']
C. {'bridge_image.jpg', 'tower_image.jpg', 'dam_image.jpg'}
D. SyntaxError due to missing colon in for loop

Solution

  1. Step 1: Understand the loop and dictionary usage

    The code loops over points, inspects each, and stores the image filename in a dictionary with the point as key.
  2. Step 2: Predict the dictionary content after loop

    Each key is the point name, and value is the image filename matching that point, e.g. 'bridge_image.jpg'.
  3. Final Answer:

    {'bridge': 'bridge_image.jpg', 'tower': 'tower_image.jpg', 'dam': 'dam_image.jpg'} -> Option A
  4. Quick Check:

    Dictionary keys = points, values = filenames = B [OK]
Hint: Use dictionary to map points to images [OK]
Common Mistakes:
  • Using list instead of dictionary for mapping
  • Forgetting colon after for loop
  • Confusing set notation with dictionary
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