Bird
Raised Fist0
Raspberry Piprogramming~10 mins

Python on Raspberry Pi - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print a message on the Raspberry Pi console.

Raspberry Pi
print([1])
Drag options to blanks, or click blank then click option'
A"Hello, Raspberry Pi!"
BHello, Raspberry Pi!
Cecho "Hello, Raspberry Pi!"
Dprint("Hello, Raspberry Pi!")
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting to put quotes around the message.
Using shell commands like echo inside print.
2fill in blank
medium

Complete the code to read input from the user on Raspberry Pi.

Raspberry Pi
user_name = [1]("Enter your name: ")
Drag options to blanks, or click blank then click option'
Ainput
Bprint
Cread
Dscan
Attempts:
3 left
💡 Hint
Common Mistakes
Using print instead of input.
Using functions not available in Python.
3fill in blank
hard

Fix the error in the code to blink an LED connected to GPIO pin 17.

Raspberry Pi
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)

GPIO.output(17, [1])
time.sleep(1)
GPIO.output(17, GPIO.LOW)
Drag options to blanks, or click blank then click option'
AON
BGPIO.HIGH
CTrue
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using boolean True instead of GPIO.HIGH.
Using numeric 1 instead of GPIO.HIGH.
4fill in blank
hard

Fill both blanks to create a dictionary of sensor readings where keys are sensor names and values are readings above 50.

Raspberry Pi
sensor_data = { [1]: [2] for [1] in sensors if sensors[[1]] > 50 }
Drag options to blanks, or click blank then click option'
Asensor
Breading
Csensors[sensor]
Dsensor_data
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names for key and value.
Using the dictionary name as key or value.
5fill in blank
hard

Fill all three blanks to create a dictionary of uppercase sensor names mapped to their readings if readings are above 30.

Raspberry Pi
filtered = { [1]: [2] for [3] in sensors if sensors[[3]] > 30 }
Drag options to blanks, or click blank then click option'
Asensor.upper()
Bsensors[sensor]
Csensor
Dreading
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong variable names for keys or values.
Not converting sensor names to uppercase.

Practice

(1/5)
1. What is the main purpose of using Python on a Raspberry Pi?
easy
A. To control hardware like LEDs and sensors easily
B. To create websites only
C. To run Windows applications
D. To edit videos

Solution

  1. Step 1: Understand Raspberry Pi's use with Python

    Python on Raspberry Pi is mainly used to control hardware components like LEDs and sensors.
  2. Step 2: Compare options with this purpose

    The options describing website creation only, running Windows applications, and video editing do not relate to hardware control, so they are incorrect.
  3. Final Answer:

    To control hardware like LEDs and sensors easily -> Option A
  4. Quick Check:

    Python on Raspberry Pi = hardware control [OK]
Hint: Think about what Raspberry Pi projects usually do [OK]
Common Mistakes:
  • Confusing Raspberry Pi with a general computer
  • Thinking Python on Pi is only for web development
  • Assuming it runs Windows apps natively
2. Which of the following is the correct way to import the GPIO library in Python on Raspberry Pi?
easy
A. import GPIO.RPi
B. import RPi.GPIO as GPIO
C. from GPIO import RPi
D. import raspberry.GPIO

Solution

  1. Step 1: Recall the standard import syntax for GPIO

    The correct import statement is import RPi.GPIO as GPIO to use GPIO functions easily.
  2. Step 2: Check other options for syntax errors

    The other options ('import GPIO.RPi', 'from GPIO import RPi', 'import raspberry.GPIO') do not follow Python import syntax or correct module names.
  3. Final Answer:

    import RPi.GPIO as GPIO -> Option B
  4. Quick Check:

    Standard GPIO import = import RPi.GPIO as GPIO [OK]
Hint: Remember the exact module name: RPi.GPIO [OK]
Common Mistakes:
  • Swapping module and package names incorrectly
  • Using wrong import syntax
  • Assuming 'GPIO' alone is a module
3. What will be the output of this Python code on Raspberry Pi?
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.HIGH)
print(GPIO.input(18))
medium
A. 0
B. HIGH
C. 1
D. Error

Solution

  1. Step 1: Understand GPIO setup and output

    Pin 18 is set as output and then set to HIGH, which means voltage is ON (1).
  2. Step 2: Check GPIO.input(18) after setting HIGH

    Reading the pin returns 1 because it was set HIGH.
  3. Final Answer:

    1 -> Option C
  4. Quick Check:

    GPIO.output HIGH means input reads 1 [OK]
Hint: HIGH means 1, LOW means 0 in GPIO [OK]
Common Mistakes:
  • Confusing HIGH with string 'HIGH'
  • Expecting 0 instead of 1 after setting HIGH
  • Thinking GPIO.input returns string values
4. Identify the error in this Raspberry Pi Python code snippet:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
GPIO.output(12, HIGH)
medium
A. Missing GPIO prefix before HIGH
B. Wrong pin number for BOARD mode
C. GPIO.setmode should be BCM
D. GPIO.setup should be input, not output

Solution

  1. Step 1: Check usage of HIGH constant

    HIGH must be referenced as GPIO.HIGH, not just HIGH alone.
  2. Step 2: Verify other code parts

    Pin 12 is valid in BOARD mode, setmode can be BOARD, and output pin can be output.
  3. Final Answer:

    Missing GPIO prefix before HIGH -> Option A
  4. Quick Check:

    Use GPIO.HIGH, not just HIGH [OK]
Hint: Always prefix constants with GPIO. [OK]
Common Mistakes:
  • Using HIGH without GPIO prefix
  • Confusing BOARD and BCM pin numbering
  • Setting output pin as input by mistake
5. You want to blink an LED connected to pin 17 on Raspberry Pi using Python. Which code snippet correctly blinks the LED once with a 1-second delay?
hard
A. import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.IN) GPIO.output(17, GPIO.HIGH) time.sleep(1) GPIO.output(17, GPIO.LOW)
B. import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.OUT) GPIO.output(17, 1) time.sleep(1) GPIO.output(17, 0)
C. import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(17, GPIO.OUT) GPIO.output(17, GPIO.HIGH) time.sleep(1) GPIO.output(17, GPIO.LOW)
D. import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.OUT) GPIO.output(17, GPIO.HIGH) time.sleep(1) GPIO.output(17, GPIO.LOW)

Solution

  1. Step 1: Check pin numbering and setup

    BCM mode, import time, GPIO.setup(17, GPIO.OUT) are all correct.
  2. Step 2: Verify output and delay

    GPIO.output(17, GPIO.HIGH), time.sleep(1), GPIO.output(17, GPIO.LOW) blinks once (on for 1s then off).
  3. Step 3: Identify errors in other options

    One lacks import time (NameError on sleep); another uses BOARD mode (pin 17 ≠ BCM pin 17 physically); another sets GPIO.IN (should be OUT).
  4. Final Answer:

    import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.OUT) GPIO.output(17, GPIO.HIGH) time.sleep(1) GPIO.output(17, GPIO.LOW) -> Option D
  5. Quick Check:

    Use BCM mode, output pin, and time.sleep for blinking [OK]
Hint: Use GPIO.HIGH/LOW with time.sleep for blinking [OK]
Common Mistakes:
  • Mixing BOARD and BCM pin numbers
  • Setting pin as input instead of output
  • Forgetting to import time module
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