Skip to content

feat: added ngram algorithm #6074

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Apr 4, 2022
14 changes: 11 additions & 3 deletions arithmetic_analysis/in_static_equilibrium.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,12 @@ def polar_force(
"""
Resolves force along rectangular components.
(force, angle) => (force_x, force_y)
>>> polar_force(10, 45)
[7.071067811865477, 7.0710678118654755]
>>> import math
>>> force = polar_force(10, 45)
>>> math.isclose(force[0], 7.071067811865477)
True
>>> math.isclose(force[1], 7.0710678118654755)
True
>>> polar_force(10, 3.14, radian_mode=True)
[-9.999987317275396, 0.01592652916486828]
"""
Expand Down Expand Up @@ -50,7 +54,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
23 changes: 23 additions & 0 deletions strings/ngram.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
"""
https://en.wikipedia.org/wiki/N-gram
"""


def create_ngram(sentence: str, ngram_size: int) -> list[str]:
"""
Create ngrams from a sentence

>>> 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()