@@ -46,6 +46,19 @@ def is_prime(number: int) -> bool:
4646 """
4747 input: positive integer 'number'
4848 returns true if 'number' is prime otherwise false.
49+
50+ >>> is_prime(3)
51+ True
52+ >>> is_prime(10)
53+ False
54+ >>> is_prime(-1)
55+ Traceback (most recent call last):
56+ ...
57+ AssertionError: 'number' must been an int and positive
58+ >>> is_prime("test")
59+ Traceback (most recent call last):
60+ ...
61+ AssertionError: 'number' must been an int and positive
4962 """
5063
5164 # precondition
@@ -83,6 +96,16 @@ def sieve_er(n):
8396 This function implements the algorithm called
8497 sieve of erathostenes.
8598
99+ >>> sieve_er(8)
100+ [2, 3, 5, 7]
101+ >>> sieve_er(-1)
102+ Traceback (most recent call last):
103+ ...
104+ AssertionError: 'N' must been an int and > 2
105+ >>> sieve_er("test")
106+ Traceback (most recent call last):
107+ ...
108+ AssertionError: 'N' must been an int and > 2
86109 """
87110
88111 # precondition
@@ -116,6 +139,17 @@ def get_prime_numbers(n):
116139 input: positive integer 'N' > 2
117140 returns a list of prime numbers from 2 up to N (inclusive)
118141 This function is more efficient as function 'sieveEr(...)'
142+
143+ >>> get_prime_numbers(8)
144+ [2, 3, 5, 7]
145+ >>> get_prime_numbers(-1)
146+ Traceback (most recent call last):
147+ ...
148+ AssertionError: 'N' must been an int and > 2
149+ >>> get_prime_numbers("test")
150+ Traceback (most recent call last):
151+ ...
152+ AssertionError: 'N' must been an int and > 2
119153 """
120154
121155 # precondition
@@ -142,6 +176,21 @@ def prime_factorization(number):
142176 """
143177 input: positive integer 'number'
144178 returns a list of the prime number factors of 'number'
179+
180+ >>> prime_factorization(0)
181+ [0]
182+ >>> prime_factorization(8)
183+ [2, 2, 2]
184+ >>> prime_factorization(287)
185+ [7, 41]
186+ >>> prime_factorization(-1)
187+ Traceback (most recent call last):
188+ ...
189+ AssertionError: 'number' must been an int and >= 0
190+ >>> prime_factorization("test")
191+ Traceback (most recent call last):
192+ ...
193+ AssertionError: 'number' must been an int and >= 0
145194 """
146195
147196 # precondition
@@ -183,12 +232,27 @@ def greatest_prime_factor(number):
183232 """
184233 input: positive integer 'number' >= 0
185234 returns the greatest prime number factor of 'number'
235+
236+ >>> greatest_prime_factor(0)
237+ 0
238+ >>> greatest_prime_factor(8)
239+ 2
240+ >>> greatest_prime_factor(287)
241+ 41
242+ >>> greatest_prime_factor(-1)
243+ Traceback (most recent call last):
244+ ...
245+ AssertionError: 'number' must been an int and >= 0
246+ >>> greatest_prime_factor("test")
247+ Traceback (most recent call last):
248+ ...
249+ AssertionError: 'number' must been an int and >= 0
186250 """
187251
188252 # precondition
189253 assert isinstance (number , int ) and (
190254 number >= 0
191- ), "'number' bust been an int and >= 0"
255+ ), "'number' must been an int and >= 0"
192256
193257 ans = 0
194258
@@ -210,12 +274,27 @@ def smallest_prime_factor(number):
210274 """
211275 input: integer 'number' >= 0
212276 returns the smallest prime number factor of 'number'
277+
278+ >>> smallest_prime_factor(0)
279+ 0
280+ >>> smallest_prime_factor(8)
281+ 2
282+ >>> smallest_prime_factor(287)
283+ 7
284+ >>> smallest_prime_factor(-1)
285+ Traceback (most recent call last):
286+ ...
287+ AssertionError: 'number' must been an int and >= 0
288+ >>> smallest_prime_factor("test")
289+ Traceback (most recent call last):
290+ ...
291+ AssertionError: 'number' must been an int and >= 0
213292 """
214293
215294 # precondition
216295 assert isinstance (number , int ) and (
217296 number >= 0
218- ), "'number' bust been an int and >= 0"
297+ ), "'number' must been an int and >= 0"
219298
220299 ans = 0
221300
@@ -237,11 +316,24 @@ def is_even(number):
237316 """
238317 input: integer 'number'
239318 returns true if 'number' is even, otherwise false.
319+
320+ >>> is_even(0)
321+ True
322+ >>> is_even(8)
323+ True
324+ >>> is_even(287)
325+ False
326+ >>> is_even(-1)
327+ False
328+ >>> is_even("test")
329+ Traceback (most recent call last):
330+ ...
331+ AssertionError: 'number' must been an int
240332 """
241333
242334 # precondition
243335 assert isinstance (number , int ), "'number' must been an int"
244- assert isinstance (number % 2 == 0 , bool ), "compare bust been from type bool"
336+ assert isinstance (number % 2 == 0 , bool ), "compare must been from type bool"
245337
246338 return number % 2 == 0
247339
@@ -253,11 +345,24 @@ def is_odd(number):
253345 """
254346 input: integer 'number'
255347 returns true if 'number' is odd, otherwise false.
348+
349+ >>> is_odd(0)
350+ False
351+ >>> is_odd(8)
352+ False
353+ >>> is_odd(287)
354+ True
355+ >>> is_odd(-1)
356+ True
357+ >>> is_odd("test")
358+ Traceback (most recent call last):
359+ ...
360+ AssertionError: 'number' must been an int
256361 """
257362
258363 # precondition
259364 assert isinstance (number , int ), "'number' must been an int"
260- assert isinstance (number % 2 != 0 , bool ), "compare bust been from type bool"
365+ assert isinstance (number % 2 != 0 , bool ), "compare must been from type bool"
261366
262367 return number % 2 != 0
263368
@@ -270,6 +375,23 @@ def goldbach(number):
270375 Goldbach's assumption
271376 input: a even positive integer 'number' > 2
272377 returns a list of two prime numbers whose sum is equal to 'number'
378+
379+ >>> goldbach(8)
380+ [3, 5]
381+ >>> goldbach(824)
382+ [3, 821]
383+ >>> goldbach(0)
384+ Traceback (most recent call last):
385+ ...
386+ AssertionError: 'number' must been an int, even and > 2
387+ >>> goldbach(-1)
388+ Traceback (most recent call last):
389+ ...
390+ AssertionError: 'number' must been an int, even and > 2
391+ >>> goldbach("test")
392+ Traceback (most recent call last):
393+ ...
394+ AssertionError: 'number' must been an int, even and > 2
273395 """
274396
275397 # precondition
@@ -323,6 +445,23 @@ def kg_v(number1, number2):
323445 Least common multiple
324446 input: two positive integer 'number1' and 'number2'
325447 returns the least common multiple of 'number1' and 'number2'
448+
449+ >>> kg_v(8,10)
450+ 40
451+ >>> kg_v(824,67)
452+ 55208
453+ >>> kg_v(0)
454+ Traceback (most recent call last):
455+ ...
456+ TypeError: kg_v() missing 1 required positional argument: 'number2'
457+ >>> kg_v(10,-1)
458+ Traceback (most recent call last):
459+ ...
460+ AssertionError: 'number1' and 'number2' must been positive integer.
461+ >>> kg_v("test","test2")
462+ Traceback (most recent call last):
463+ ...
464+ AssertionError: 'number1' and 'number2' must been positive integer.
326465 """
327466
328467 # precondition
@@ -395,6 +534,21 @@ def get_prime(n):
395534 Gets the n-th prime number.
396535 input: positive integer 'n' >= 0
397536 returns the n-th prime number, beginning at index 0
537+
538+ >>> get_prime(0)
539+ 2
540+ >>> get_prime(8)
541+ 23
542+ >>> get_prime(824)
543+ 6337
544+ >>> get_prime(-1)
545+ Traceback (most recent call last):
546+ ...
547+ AssertionError: 'number' must been a positive int
548+ >>> get_prime("test")
549+ Traceback (most recent call last):
550+ ...
551+ AssertionError: 'number' must been a positive int
398552 """
399553
400554 # precondition
@@ -430,6 +584,25 @@ def get_primes_between(p_number_1, p_number_2):
430584 pNumber1 < pNumber2
431585 returns a list of all prime numbers between 'pNumber1' (exclusive)
432586 and 'pNumber2' (exclusive)
587+
588+ >>> get_primes_between(3, 67)
589+ [5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61]
590+ >>> get_primes_between(0)
591+ Traceback (most recent call last):
592+ ...
593+ TypeError: get_primes_between() missing 1 required positional argument: 'p_number_2'
594+ >>> get_primes_between(0, 1)
595+ Traceback (most recent call last):
596+ ...
597+ AssertionError: The arguments must been prime numbers and 'pNumber1' < 'pNumber2'
598+ >>> get_primes_between(-1, 3)
599+ Traceback (most recent call last):
600+ ...
601+ AssertionError: 'number' must been an int and positive
602+ >>> get_primes_between("test","test")
603+ Traceback (most recent call last):
604+ ...
605+ AssertionError: 'number' must been an int and positive
433606 """
434607
435608 # precondition
@@ -473,6 +646,19 @@ def get_divisors(n):
473646 """
474647 input: positive integer 'n' >= 1
475648 returns all divisors of n (inclusive 1 and 'n')
649+
650+ >>> get_divisors(8)
651+ [1, 2, 4, 8]
652+ >>> get_divisors(824)
653+ [1, 2, 4, 8, 103, 206, 412, 824]
654+ >>> get_divisors(-1)
655+ Traceback (most recent call last):
656+ ...
657+ AssertionError: 'n' must been int and >= 1
658+ >>> get_divisors("test")
659+ Traceback (most recent call last):
660+ ...
661+ AssertionError: 'n' must been int and >= 1
476662 """
477663
478664 # precondition
@@ -497,6 +683,19 @@ def is_perfect_number(number):
497683 """
498684 input: positive integer 'number' > 1
499685 returns true if 'number' is a perfect number otherwise false.
686+
687+ >>> is_perfect_number(28)
688+ True
689+ >>> is_perfect_number(824)
690+ False
691+ >>> is_perfect_number(-1)
692+ Traceback (most recent call last):
693+ ...
694+ AssertionError: 'number' must been an int and >= 1
695+ >>> is_perfect_number("test")
696+ Traceback (most recent call last):
697+ ...
698+ AssertionError: 'number' must been an int and >= 1
500699 """
501700
502701 # precondition
@@ -525,6 +724,15 @@ def simplify_fraction(numerator, denominator):
525724 input: two integer 'numerator' and 'denominator'
526725 assumes: 'denominator' != 0
527726 returns: a tuple with simplify numerator and denominator.
727+
728+ >>> simplify_fraction(10, 20)
729+ (1, 2)
730+ >>> simplify_fraction(10, -1)
731+ (10, -1)
732+ >>> simplify_fraction("test","test")
733+ Traceback (most recent call last):
734+ ...
735+ AssertionError: The arguments must been from type int and 'denominator' != 0
528736 """
529737
530738 # precondition
@@ -554,6 +762,19 @@ def factorial(n):
554762 """
555763 input: positive integer 'n'
556764 returns the factorial of 'n' (n!)
765+
766+ >>> factorial(0)
767+ 1
768+ >>> factorial(20)
769+ 2432902008176640000
770+ >>> factorial(-1)
771+ Traceback (most recent call last):
772+ ...
773+ AssertionError: 'n' must been a int and >= 0
774+ >>> factorial("test")
775+ Traceback (most recent call last):
776+ ...
777+ AssertionError: 'n' must been a int and >= 0
557778 """
558779
559780 # precondition
@@ -570,15 +791,27 @@ def factorial(n):
570791# -------------------------------------------------------------------
571792
572793
573- def fib (n ) :
794+ def fib (n : int ) -> int :
574795 """
575796 input: positive integer 'n'
576797 returns the n-th fibonacci term , indexing by 0
577798
799+ >>> fib(0)
800+ 1
578801 >>> fib(5)
579802 8
803+ >>> fib(20)
804+ 10946
580805 >>> fib(99)
581806 354224848179261915075
807+ >>> fib(-1)
808+ Traceback (most recent call last):
809+ ...
810+ AssertionError: 'n' must been an int and >= 0
811+ >>> fib("test")
812+ Traceback (most recent call last):
813+ ...
814+ AssertionError: 'n' must been an int and >= 0
582815 """
583816
584817 # precondition
0 commit comments