From a53fcf221bc1d361b26c055aa12be38c4e8b2022 Mon Sep 17 00:00:00 2001 From: algobytewise Date: Sat, 3 Apr 2021 13:31:46 +0530 Subject: [PATCH] [mypy] fix hashes folder (#4305) * fix hashes-folder * Update build.yml * fix doctests * return-values to int * Update hashes/adler32.py * type hints for elements Co-authored-by: Christian Clauss --- .github/workflows/build.yml | 2 +- hashes/adler32.py | 4 ++-- hashes/chaos_machine.py | 3 ++- hashes/enigma_machine.py | 7 +++---- hashes/sdbm.py | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e66b94b1a..c1aeaa031 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,7 +23,7 @@ jobs: python -m pip install mypy pytest-cov -r requirements.txt # FIXME: #4052 fix mypy errors in the exclude directories and remove them below - run: mypy --ignore-missing-imports - --exclude '(ciphers|conversions|data_structures|digital_image_processing|dynamic_programming|graphs|hashes|linear_algebra|maths|matrix|other|project_euler|scripts|searches|strings*)/$' . + --exclude '(ciphers|conversions|data_structures|digital_image_processing|dynamic_programming|graphs|linear_algebra|maths|matrix|other|project_euler|scripts|searches|strings*)/$' . - name: Run tests run: pytest --doctest-modules --ignore=project_euler/ --ignore=scripts/ --cov-report=term-missing:skip-covered --cov=. . - if: ${{ success() }} diff --git a/hashes/adler32.py b/hashes/adler32.py index fad747abe..4a61b97e3 100644 --- a/hashes/adler32.py +++ b/hashes/adler32.py @@ -9,10 +9,10 @@ """ -def adler32(plain_text: str) -> str: +def adler32(plain_text: str) -> int: """ Function implements adler-32 hash. - Itterates and evaluates new value for each character + Iterates and evaluates a new value for each character >>> adler32('Algorithms') 363791387 diff --git a/hashes/chaos_machine.py b/hashes/chaos_machine.py index 1bdf984b6..7ef4fdb3c 100644 --- a/hashes/chaos_machine.py +++ b/hashes/chaos_machine.py @@ -6,7 +6,8 @@ t = 3 m = 5 # Buffer Space (with Parameters Space) -buffer_space, params_space = [], [] +buffer_space: list[float] = [] +params_space: list[float] = [] # Machine Time machine_time = 0 diff --git a/hashes/enigma_machine.py b/hashes/enigma_machine.py index 5420bacc1..d1cb6efc2 100644 --- a/hashes/enigma_machine.py +++ b/hashes/enigma_machine.py @@ -41,8 +41,7 @@ def engine(input_character): if __name__ == "__main__": - decode = input("Type your message:\n") - decode = list(decode) + decode = list(input("Type your message:\n")) while True: try: token = int(input("Please set token:(must be only digits)\n")) @@ -51,8 +50,8 @@ if __name__ == "__main__": print(error) for i in range(token): rotator() - for i in decode: - engine(i) + for j in decode: + engine(j) print("\n" + "".join(code)) print( f"\nYour Token is {token} please write it down.\nIf you want to decode " diff --git a/hashes/sdbm.py b/hashes/sdbm.py index 86d47a1d9..daf292717 100644 --- a/hashes/sdbm.py +++ b/hashes/sdbm.py @@ -19,7 +19,7 @@ """ -def sdbm(plain_text: str) -> str: +def sdbm(plain_text: str) -> int: """ Function implements sdbm hash, easy to use, great for bits scrambling. iterates over each character in the given string and applies function to each of