Bird
Raised Fist0
NumPydata~10 mins

Scalar operations on arrays in NumPy - Interactive Code Practice

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

Complete the code to multiply each element in the array by 3.

NumPy
import numpy as np
arr = np.array([1, 2, 3, 4])
result = arr [1] 3
print(result)
Drag options to blanks, or click blank then click option'
A-
B+
C*
D/
Attempts:
3 left
💡 Hint
Common Mistakes
Using + instead of * will add 3 to each element, not multiply.
Using / will divide each element by 3, which is not what we want.
2fill in blank
medium

Complete the code to subtract 5 from each element in the array.

NumPy
import numpy as np
arr = np.array([10, 15, 20, 25])
result = arr [1] 5
print(result)
Drag options to blanks, or click blank then click option'
A*
B/
C+
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using + will add 5 instead of subtracting.
Using * will multiply each element by 5, which is incorrect here.
3fill in blank
hard

Fix the error in the code to divide each element by 2 correctly.

NumPy
import numpy as np
arr = np.array([8, 16, 24, 32])
result = arr [1] 2
print(result)
Drag options to blanks, or click blank then click option'
A*
B/
C+
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using * will multiply instead of dividing.
Using + or - will not perform division.
4fill in blank
hard

Fill both blanks to create a dictionary with words as keys and their lengths squared if length is greater than 3.

NumPy
words = ['data', 'science', 'ai', 'ml']
lengths = {word: len(word)[1] 2 for word in words if len(word) [2] 3}
print(lengths)
Drag options to blanks, or click blank then click option'
A**
B%
C>
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of > will filter wrong words.
Using % instead of ** will cause wrong calculations.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase words as keys and their lengths if length is less than 5.

NumPy
words = ['data', 'science', 'ai', 'ml']
result = {word[1]: [2] for word in words if len(word) [3] 5}
print(result)
Drag options to blanks, or click blank then click option'
A.upper()
Blen(word)
C<
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using > instead of < will filter wrong words.
Forgetting to convert words to uppercase.

Practice

(1/5)
1. What happens when you add a scalar value to a NumPy array?
arr = np.array([1, 2, 3])
result = arr + 5
easy
A. 5 is added only to the first element
B. The array becomes a scalar value 5
C. 5 is added to each element of the array
D. An error occurs because you cannot add a scalar to an array

Solution

  1. Step 1: Understand scalar addition on arrays

    Adding a scalar to a NumPy array adds that scalar to every element individually.
  2. Step 2: Apply addition to each element

    Each element in [1, 2, 3] gets 5 added, resulting in [6, 7, 8].
  3. Final Answer:

    5 is added to each element of the array -> Option C
  4. Quick Check:

    Scalar + array = element-wise addition [OK]
Hint: Scalar operations apply to every element individually [OK]
Common Mistakes:
  • Thinking scalar adds only to first element
  • Expecting an error when adding scalar
  • Confusing scalar with array addition
2. Which of the following is the correct syntax to multiply every element of a NumPy array arr by 3?
easy
A. arr * 3
B. arr * [3]
C. arr * arr[3]
D. arr * (3,)

Solution

  1. Step 1: Identify scalar multiplication syntax

    Multiplying an array by a scalar uses the * operator with a number, like arr * 3.
  2. Step 2: Check other options

    arr * [3] tries to multiply by a list, arr * arr[3] accesses an element (may cause error if index out of range), arr * (3,) is a tuple, not scalar.
  3. Final Answer:

    arr * 3 -> Option A
  4. Quick Check:

    Scalar multiplication uses * scalar [OK]
Hint: Use * with a number, not list or tuple [OK]
Common Mistakes:
  • Using list or tuple instead of scalar
  • Accessing array element incorrectly
  • Confusing scalar with array
3. What is the output of the following code?
import numpy as np
arr = np.array([2, 4, 6])
result = arr - 1
print(result)
medium
A. [3 5 7]
B. [1 3 5]
C. [2 4 6]
D. Error: unsupported operand

Solution

  1. Step 1: Understand scalar subtraction on array

    Subtracting 1 from each element in [2, 4, 6] results in [1, 3, 5].
  2. Step 2: Confirm output matches expected array

    The print statement outputs the array as [1 3 5] without commas.
  3. Final Answer:

    [1 3 5] -> Option B
  4. Quick Check:

    Array - scalar subtracts from each element [OK]
Hint: Subtract scalar from each element for result [OK]
Common Mistakes:
  • Expecting commas in printed array
  • Adding instead of subtracting
  • Thinking operation causes error
4. The following code throws an error. What is the cause?
import numpy as np
arr = np.array([1, 2, 3])
result = arr + '5'
print(result)
medium
A. Cannot add string scalar to numeric array
B. Array is not defined
C. Missing import statement
D. Syntax error in addition

Solution

  1. Step 1: Identify data types involved in addition

    arr is numeric array, '5' is a string scalar. NumPy cannot add string to numbers.
  2. Step 2: Understand error cause

    Adding string to numeric array causes TypeError because types mismatch.
  3. Final Answer:

    Cannot add string scalar to numeric array -> Option A
  4. Quick Check:

    Scalar type must match array type [OK]
Hint: Scalar must be number, not string, for numeric arrays [OK]
Common Mistakes:
  • Thinking import is missing
  • Confusing syntax error with type error
  • Assuming array is undefined
5. You have a NumPy array arr = np.array([10, 20, 30, 40]). You want to reduce each element by 10% using scalar operations. Which code correctly does this?
hard
A. arr + 0.9
B. arr - 0.1
C. arr / 10
D. arr * 0.9

Solution

  1. Step 1: Understand reducing by 10%

    Reducing by 10% means multiplying by 90% or 0.9.
  2. Step 2: Apply scalar multiplication

    Multiplying arr by 0.9 scales each element down by 10%.
  3. Step 3: Check other options

    Subtracting 0.1 reduces by fixed amount, dividing by 10 reduces by 90%, adding 0.9 increases values.
  4. Final Answer:

    arr * 0.9 -> Option D
  5. Quick Check:

    Multiply by 0.9 to reduce by 10% [OK]
Hint: Multiply by 0.9 to reduce by 10% [OK]
Common Mistakes:
  • Subtracting 0.1 instead of 10%
  • Dividing instead of multiplying
  • Adding instead of reducing
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