Skip to content

Commit ae878ff

Browse files
author
boraxpr
committed
bite 208
1 parent 646bf8e commit ae878ff

File tree

3 files changed

+40
-0
lines changed

3 files changed

+40
-0
lines changed

Diff for: .gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44
**/__pycache__/
55
/143/README.md
66
/153/README.md
7+
/208/README.md

Diff for: 208/combos.py

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
def find_number_pairs(numbers, N=10):
2+
result = []
3+
for number1 in numbers:
4+
for number2 in numbers:
5+
if number1+number2 == N and number1 != number2:
6+
tuple = (number1, number2)
7+
numbers.remove(number1)
8+
result.append(tuple)
9+
return result
10+
11+
# print(find_number_pairs([1,2,3,4,5,6,7]))

Diff for: 208/test_combos.py

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import pytest
2+
3+
from combos import find_number_pairs
4+
5+
6+
def _sort_all(ret):
7+
return sorted(
8+
[tuple(sorted(n)) for n in ret]
9+
)
10+
11+
12+
@pytest.mark.parametrize("numbers, N, expected", [
13+
([2, 3, 5, 4, 6], 10, [(4, 6)]),
14+
([9, 1, 3, 8, 7], 10, [(9, 1), (3, 7)]),
15+
([0.2, 3, 0.4], 10, []),
16+
([0.2, 9.8, 10, 1, 0], 10, [(0.2, 9.8), (10, 0)]),
17+
([0.24, 0.36, 0.04, 0.06, 0.33, 0.08, 0.20, 0.27, 0.3, 0.31,
18+
0.76, 0.05, 0.08, 0.08, 0.67, 0.09, 0.66, 0.79, 0.95], 1,
19+
[(0.24, 0.76), (0.33, 0.67), (0.05, 0.95)]),
20+
([9, 1, 3, 8, 7], 0, []),
21+
([-9, 29, 11, 10, 9, 3, -1, 21], 20, [(-9, 29), (11, 9), (-1, 21)]),
22+
([1.69, 1.82, 2.91, 4.67, 4.81, 3.05, 5.82, 5.06,
23+
4.28, 6.36, 5.19, 4.57], 10, [(4.81, 5.19)]),
24+
])
25+
def test_find_number_pairs(numbers, N, expected):
26+
actual = find_number_pairs(numbers, N=N)
27+
assert type(actual) == list
28+
assert _sort_all(actual) == _sort_all(expected)

0 commit comments

Comments
 (0)