forked from tdwojak/Python2017
zad_dom_08
mam problem z ładowaniem tego przez PyCharma jako aktualizacja, więc pozwolę sobie wrzucić zadanie bezpośrednio na gita (wcześniej nie działał przez dłuższy czas)
This commit is contained in:
parent
f04041a3fe
commit
f5538df1e6
29
labs02/task08_done.py
Normal file
29
labs02/task08_done.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Napisz funkcję sum_div35(n), która zwraca sumę wszystkich liczb podzielnych
|
||||||
|
przez 3 lub 5 mniejszych niż n.
|
||||||
|
"""
|
||||||
|
#pythonowy zakres dla funkcji range: range(3) == [0, 1, 2], czyli <n to range(n)
|
||||||
|
#example sum in range: for x in range(100, 2001, 3); 100 - 2001 range, divided by 3
|
||||||
|
|
||||||
|
|
||||||
|
#n = 100
|
||||||
|
def sum_div35(n):
|
||||||
|
return sum(range(3, n, 3)) + sum(range(5, n, 5)) - sum(range(15, n, 15))
|
||||||
|
print(sum_div35(n))
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [[10], [100], [3845]]
|
||||||
|
outputs = [23, 2318, 3446403]
|
||||||
|
|
||||||
|
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_div35))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user