Assume that N is a positive integer. Returns the sum from 1 to N inclusive, but omitting the numbers that are of type series1, meaning omit numbers that can be written as 1 + 2 + 3 + 4 + ... + k for some positive integer k.
def g11_3(N) :
'''
Assume that N is a positive integer.
Returns the sum from 1 to N inclusive, but omitting the numbers that
are of type series1, meaning omit numbers that can be written as
1 + 2 + 3 + 4 + ... + k for some positive integer k.
Hint: write a boolean function that checks if an integer is of type
series1.
For example, the first few series1 numbers are 1, 3, 6, 10, ...
So, g11_3(10) returns 35
since the numbers to add are: 2, 4, 5, 7, 8, 9, where we
are not using 1, 3, 6 and 10 because they are of type series1.
'''
pass
# --------------------------------------------------------------
# The Testing
# --------------------------------------------------------------
class myTests(unittest.TestCase):
def test1(self):
ans = g11_3(1)
self.assertEqual(ans, 0)
def test2(self):
ans = g11_3(2)
self.assertEqual(ans, 2)
def test3(self):
ans = g11_3(10)
self.assertEqual(ans, 35)
def test4(self):
ans = g11_3(100)
self.assertEqual(ans, 4595)
def test5(self):
ans = g11_3(1000)
self.assertEqual(ans, 485320)
if __name__ == '__main__':
unittest.main(exit=True)
Step by step
Solved in 4 steps with 2 images