diff --git a/.vscode/settings.json b/.vscode/settings.json index 87e5d1e..30c623f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,8 +1,8 @@ { "python.pythonPath": "python/venv/bin/python3", "python.terminal.activateEnvInCurrentTerminal": true, - "python.testing.pytestArgs": ["python"], "python.testing.unittestEnabled": false, "python.testing.pytestEnabled": true, - "python.linting.enabled": true + "python.linting.enabled": true, + "python.testing.pytestArgs": ["python"] } diff --git a/python/hamming/hamming.py b/python/hamming/hamming.py index 9ba0e97..ceb24f4 100644 --- a/python/hamming/hamming.py +++ b/python/hamming/hamming.py @@ -1,6 +1,11 @@ def distance(strand_a, strand_b): - strand_a_length = strand_a.length() - strand_b_length = strand_b.length() - - print(strand_a_length) - pass + length_sum = len(strand_a) - len(strand_b) + if (strand_a == strand_b): + return 0 + if (length_sum != 0): + raise ValueError("Not the same distance") + distance = 0 + for i, letter in enumerate(strand_a): + if (letter != strand_b[i]): + distance += 1 + return distance diff --git a/python/hamming/hamming_test.py b/python/hamming/hamming_test.py index 885ae0a..33b7064 100644 --- a/python/hamming/hamming_test.py +++ b/python/hamming/hamming_test.py @@ -1,4 +1,5 @@ import unittest +import pytest from hamming import ( distance, diff --git a/python/requirements.txt b/python/requirements.txt new file mode 100644 index 0000000..cd9b83f --- /dev/null +++ b/python/requirements.txt @@ -0,0 +1,3 @@ +pytest +pep8 +pylint