2017-11-19 10:42:39 +01:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# -*- coding: utf-8 -*-
|
2017-11-18 16:45:28 +01:00
|
|
|
|
|
|
|
"""
|
|
|
|
Napisz funkcję sum_from_one_to_n zwracającą sume liczb od 1 do n.
|
|
|
|
Jeśli podany argument jest mniejszy od 1 powinna być zwracana wartość 0.
|
|
|
|
"""
|
|
|
|
|
|
|
|
def sum_from_one_to_n(n):
|
2017-11-19 15:42:27 +01:00
|
|
|
if n < 1 :
|
|
|
|
return 0
|
|
|
|
else:
|
|
|
|
return reduce(lambda x, y: (x+y), range(1,n+1))
|
2017-11-18 16:45:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
def tests(f):
|
|
|
|
inputs = [[999], [-100]]
|
|
|
|
outputs = [499500, 0]
|
|
|
|
|
|
|
|
for input, output in zip(inputs, outputs):
|
|
|
|
if f(*input) != output:
|
|
|
|
return "ERROR: {}!={}".format(f(*input), output)
|
|
|
|
break
|
|
|
|
return "TESTS PASSED"
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
print(tests(sum_from_one_to_n))
|