mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-10-05 21:29:29 +00:00
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
parent
c3cc048a04
commit
aff6698fff
|
@ -1,24 +1,26 @@
|
|||
import math
|
||||
|
||||
|
||||
def bragg_angle(distance: float, order: int, wavelength: float) -> float:
|
||||
"""
|
||||
Calculate the Bragg diffraction angle using the formula:
|
||||
sin(θ) = (n * λ) / (2 * d)
|
||||
|
||||
|
||||
Parameters:
|
||||
distance d (float): Distance between crystal planes (in meters).
|
||||
order n (int): Order of reflection.
|
||||
wavelength λ (float): Wavelength of the radiation (in meters).
|
||||
|
||||
|
||||
Examples:
|
||||
>>> bragg_angle(2.2e-10, 1, 2.2e-10)
|
||||
30.0
|
||||
|
||||
|
||||
>>> bragg_angle(5e-10, 2, 1e-10)
|
||||
11.5
|
||||
|
||||
|
||||
>>> bragg_angle(4e-10, 1, 4e-10)
|
||||
30.0
|
||||
|
||||
|
||||
# Test case for an invalid sine value (out of range)
|
||||
>>> bragg_angle(1e-10, 2, 3e-10)
|
||||
Traceback (most recent call last):
|
||||
|
@ -32,6 +34,8 @@ def bragg_angle(distance: float, order: int, wavelength: float) -> float:
|
|||
theta_degrees = math.degrees(theta_radians)
|
||||
return round(theta_degrees, 1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import doctest
|
||||
|
||||
doctest.testmod(verbose=True)
|
||||
|
|
Loading…
Reference in New Issue
Block a user