Skip to content
8 changes: 6 additions & 2 deletions arithmetic_analysis/in_static_equilibrium.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def polar_force(
Resolves force along rectangular components.
(force, angle) => (force_x, force_y)
>>> polar_force(10, 45)
[7.071067811865477, 7.0710678118654755]
[7.0710678118654755, 7.071067811865475]
>>> polar_force(10, 3.14, radian_mode=True)
[-9.999987317275396, 0.01592652916486828]
"""
Expand Down Expand Up @@ -50,7 +50,11 @@ def in_static_equilibrium(
if __name__ == "__main__":
# Test to check if it works
forces = array(
[polar_force(718.4, 180 - 30), polar_force(879.54, 45), polar_force(100, -90)]
[
polar_force(718.4, 180 - 30),
polar_force(879.54, 45),
polar_force(100, -90),
]
)

location = array([[0, 0], [0, 0], [0, 0]])
Expand Down
29 changes: 29 additions & 0 deletions strings/ngram.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
"""
https://en.wikipedia.org/wiki/N-gram
"""


def create_ngram(sentence: str, ngram_size: int) -> list:
"""
Create ngrams from a sentence
:param sentence: str
:param ngram_size: int
:return: list
>>> create_ngram("I am a sentence", 2)
['I ', ' a', 'am', 'm ', ' a', 'a ', ' s', 'se', 'en', 'nt', 'te', 'en', 'nc', 'ce']
>>> create_ngram("I am an NLPer", 2)
['I ', ' a', 'am', 'm ', ' a', 'an', 'n ', ' N', 'NL', 'LP', 'Pe', 'er']
>>> create_ngram("This is short", 50)
???
"""

return [sentence[i : i + ngram_size] for i in range(len(sentence) - ngram_size + 1)]


if __name__ == "__main__":
from doctest import testmod

testmod()