-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDaily_coding_problem_1.py
More file actions
41 lines (30 loc) · 1.27 KB
/
Daily_coding_problem_1.py
File metadata and controls
41 lines (30 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import unittest
""" Problem:
Given a list of numbers and a number k, return whether any two numbers from the list add up to k.
For example, given [10, 15, 3, 7] and k of 17, return true since 10 + 7 is 17.
"""
def add_two_num(list_, k):
for i in range(0, len(list_)):
for j in range(i+1, len(list_)):
if list_[i] + list_[j] == k:
return [list_[i], list_[j]]
return []
class MyTest(unittest.TestCase):
def test_one_number(self):
self.assertEqual(add_two_num([1], 1), [])
self.assertEqual(add_two_num([1], 2), [])
def test_two_numbers(self):
self.assertEqual(add_two_num([1, 0], 1), [1, 0])
self.assertEqual(add_two_num([1, 0], 3), [])
def test_several_numbers(self):
self.assertEqual(add_two_num([1, 0, 2, 4, 6], 10), [4, 6])
self.assertEqual(add_two_num([1, 2, 4, 7], 10), [])
def test_empty(self):
self.assertEqual(add_two_num([], 0), [])
self.assertEqual(add_two_num([], 7), [])
def test_decimal_numbers(self):
self.assertEqual(add_two_num([1.5,3.6,2.5], 4), [1.5, 2.5])
self.assertEqual(add_two_num([1.5,3.6,2.5], 5.1), [1.5, 3.6])
self.assertEqual(add_two_num([1.5,3.6,2.5], 4.5), [])
if __name__ == '__main__':
unittest.main()