📖 Scenario: Scientists often use important physical constants like the speed of light and Planck's constant in their calculations. These constants help us understand the universe better.
🎯 Goal: You will create a small program that stores some physical constants from SciPy, selects one based on a condition, and then prints it out.
📋 What You'll Learn
Use the scipy.constants module to access physical constants
Create a dictionary with the speed of light and Planck's constant
Set a threshold value to compare the constants
Use a loop to find constants greater than the threshold
Print the constants that meet the condition
💡 Why This Matters
🌍 Real World
Scientists and engineers use physical constants in calculations for physics, chemistry, and engineering problems.
💼 Career
Knowing how to access and use physical constants programmatically is useful for data scientists working in scientific research and development.
Progress0 / 4 steps
1
Create a dictionary with physical constants
Import scipy.constants as const. Create a dictionary called phys_constants with two entries: 'speed_of_light' set to const.c and 'planck' set to const.h.
SciPy
Hint
Use import scipy.constants as const to access constants. Then create a dictionary with keys 'speed_of_light' and 'planck' using const.c and const.h.
2
Set a threshold value
Create a variable called threshold and set it to 1e-30.
SciPy
Hint
Just create a variable named threshold and assign it the value 1e-30.
3
Find constants greater than the threshold
Create a new dictionary called filtered_constants that includes only the items from phys_constants where the value is greater than threshold. Use a dictionary comprehension with key and value as variables.
SciPy
Hint
Use a dictionary comprehension like {key: value for key, value in phys_constants.items() if value > threshold}.
4
Print the filtered constants
Print the filtered_constants dictionary.
SciPy
Hint
Use print(filtered_constants) to show the result.
Practice
(1/5)
1. What is the value of the speed of light constant c in scipy.constants measured in?
easy
A. Meters per second
B. Kilometers per hour
C. Miles per second
D. Feet per second
Solution
Step 1: Understand the unit of speed of light in scipy.constants
The speed of light c in scipy.constants is given in meters per second (m/s), which is the standard SI unit for speed.
Step 2: Confirm the unit from official documentation or usage
Checking the official scipy documentation confirms c is in meters per second.
Final Answer:
Meters per second -> Option A
Quick Check:
Speed of light unit = meters per second [OK]
Hint: Speed of light is always in meters per second [OK]
Common Mistakes:
Confusing meters per second with kilometers per hour
Assuming miles or feet units
Not checking scipy documentation
2. Which of the following is the correct way to import and access Planck's constant from scipy.constants?
easy
A. import scipy.constants; scipy.constants.planck
B. import scipy.constants as sc; sc.Planck
C. from scipy.constants import Planck
D. from scipy.constants import planck
Solution
Step 1: Recall the exact attribute name for Planck's constant
In scipy.constants, Planck's constant is accessed as planck (all lowercase).
Step 2: Check import syntax correctness
import scipy.constants; scipy.constants.planck uses import scipy.constants and accesses scipy.constants.planck, which is correct. from scipy.constants import planck tries to import planck directly, which is valid but not the exact syntax shown here. import scipy.constants as sc; sc.Planck uses incorrect capitalization Planck. from scipy.constants import Planck also uses wrong capitalization and import style.
Final Answer:
import scipy.constants; scipy.constants.planck -> Option A
Quick Check:
Correct attribute name is planck, accessed via scipy.constants [OK]
Hint: Planck constant is lowercase 'planck' in scipy.constants [OK]
Common Mistakes:
Using uppercase 'Planck' instead of lowercase
Incorrect import syntax
Trying to import planck directly without correct syntax
3. What is the output of this code snippet?
from scipy.constants import c, planck
wavelength = 500e-9 # 500 nm in meters
energy = planck * c / wavelength
print(round(energy, 20))
medium
A. 3.972891714285714e-16
B. 3.972891714285714e-25
C. 3.972891714285714e-22
D. 3.972891714285714e-19
Solution
Step 1: Calculate photon energy using formula E = h * c / wavelength
Given wavelength = 500 nm = 500e-9 m, Planck's constant (h) and speed of light (c) are constants from scipy.constants. Calculate energy = planck * c / wavelength.
Step 2: Perform calculation and round result
Using scipy.constants values: planck ≈ 6.62607015e-34, c ≈ 299792458, energy ≈ (6.62607015e-34 * 299792458) / 500e-9 = 3.972891714285714e-19 J. Rounded to 20 decimals matches 3.972891714285714e-19.
Final Answer:
3.972891714285714e-19 -> Option D
Quick Check:
Energy = h*c/wavelength = 3.97e-19 J [OK]
Hint: Use E = h*c/wavelength formula with correct units [OK]
Common Mistakes:
Forgetting to convert nm to meters
Mixing up multiplication and division
Rounding too early or incorrectly
4. Identify the error in this code snippet that tries to calculate photon energy:
from scipy.constants import Planck, c
wavelength = 600e-9
energy = Planck * c / wavelength
print(energy)
medium
A. Missing import for speed of light
B. Wavelength should be in nanometers, not meters
C. Planck constant is incorrectly capitalized
D. Division operator should be multiplication
Solution
Step 1: Check import statement for Planck constant
The code imports Planck with uppercase 'P', but in scipy.constants it is lowercase planck. This causes an AttributeError.
Step 2: Verify other parts of the code
Wavelength is correctly converted to meters (600e-9), speed of light c is imported correctly, and the formula uses correct division. So no other errors.
Final Answer:
Planck constant is incorrectly capitalized -> Option C
Quick Check:
Correct attribute is 'planck' lowercase [OK]
Hint: Check exact case for constants in scipy.constants [OK]
Common Mistakes:
Using uppercase 'Planck' instead of lowercase
Confusing units of wavelength
Wrong operator in formula
5. You want to calculate the energy of a photon with wavelength 400 nm using scipy.constants. Which code snippet correctly computes and prints the energy in electronvolts (eV)?
hard
A. from scipy.constants import c, planck
wavelength = 400e-9
energy_ev = planck * c / wavelength
print(round(energy_ev, 3))
B. from scipy.constants import c, planck, electron_volt
wavelength = 400e-9
energy_joule = planck * c / wavelength
energy_ev = energy_joule / electron_volt
print(round(energy_ev, 3))
C. from scipy.constants import c, planck, electron_volt
wavelength = 400
energy_joule = planck * c / wavelength
energy_ev = energy_joule * electron_volt
print(round(energy_ev, 3))
D. from scipy.constants import c, planck
wavelength = 400e-9
energy_joule = planck * c * wavelength
print(round(energy_joule, 3))
Solution
Step 1: Calculate photon energy in joules using E = h*c / wavelength
Use wavelength in meters (400e-9). Calculate energy_joule = planck * c / wavelength.
Step 2: Convert energy from joules to electronvolts
Divide energy_joule by electron_volt constant to get energy in eV.
Step 3: Check code correctness
from scipy.constants import c, planck, electron_volt
wavelength = 400e-9
energy_joule = planck * c / wavelength
energy_ev = energy_joule / electron_volt
print(round(energy_ev, 3)) correctly imports electron_volt, converts units properly, and prints rounded value. Other options either miss conversion, use wrong wavelength units, or wrong formula.
Final Answer:
from scipy.constants import c, planck, electron_volt
wavelength = 400e-9
energy_joule = planck * c / wavelength
energy_ev = energy_joule / electron_volt
print(round(energy_ev, 3)) -> Option B
Quick Check:
Energy (eV) = (h*c/wavelength)/electron_volt [OK]
Hint: Convert joules to eV by dividing by electron_volt constant [OK]
Common Mistakes:
Skipping conversion from joules to eV
Using wavelength in nm without converting to meters
Multiplying instead of dividing for energy calculation
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.