From 02bf7c0146df1e41f45c4ee04ff9654629c023c8 Mon Sep 17 00:00:00 2001 From: percy07 <56677891+percy07@users.noreply.github.com> Date: Tue, 29 Oct 2019 16:34:31 +0530 Subject: [PATCH 1/3] Update basic_maths.py Add Doctests. --- maths/basic_maths.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/maths/basic_maths.py b/maths/basic_maths.py index 34ffd1031527..780cb885b0fd 100644 --- a/maths/basic_maths.py +++ b/maths/basic_maths.py @@ -3,7 +3,10 @@ def prime_factors(n): - """Find Prime Factors.""" + """Find Prime Factors. + >>> prime_factors(10) + [2,5] + """ pf = [] while n % 2 == 0: pf.append(2) @@ -21,7 +24,10 @@ def prime_factors(n): def number_of_divisors(n): - """Calculate Number of Divisors of an Integer.""" + """Calculate Number of Divisors of an Integer. + >>> number_of_divisors(24) + 8 + """ div = 1 temp = 1 @@ -41,7 +47,10 @@ def number_of_divisors(n): def sum_of_divisors(n): - """Calculate Sum of Divisors.""" + """Calculate Sum of Divisors. + >>> sum_of_divisors(72) + 195 + """ s = 1 temp = 1 From db83f49f70646685bf141b1e4bf4fff6e1803cb4 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Tue, 29 Oct 2019 21:52:37 +0100 Subject: [PATCH 2/3] Update basic_maths.py --- maths/basic_maths.py | 49 +++++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 30 deletions(-) diff --git a/maths/basic_maths.py b/maths/basic_maths.py index 780cb885b0fd..d493ca7eb6c9 100644 --- a/maths/basic_maths.py +++ b/maths/basic_maths.py @@ -2,64 +2,56 @@ import math -def prime_factors(n): +def prime_factors(n: int) -> list: """Find Prime Factors. - >>> prime_factors(10) - [2,5] + >>> prime_factors(100) + [2, 2, 5, 5] """ pf = [] while n % 2 == 0: pf.append(2) n = int(n / 2) - for i in range(3, int(math.sqrt(n)) + 1, 2): while n % i == 0: pf.append(i) n = int(n / i) - if n > 2: pf.append(n) - return pf -def number_of_divisors(n): +def number_of_divisors(n: int) -> int: """Calculate Number of Divisors of an Integer. - >>> number_of_divisors(24) - 8 + >>> number_of_divisors(100) + 9 """ div = 1 - temp = 1 while n % 2 == 0: temp += 1 n = int(n / 2) - div = div * (temp) - + div *= temp for i in range(3, int(math.sqrt(n)) + 1, 2): temp = 1 while n % i == 0: temp += 1 n = int(n / i) - div = div * (temp) - + div *= temp return div -def sum_of_divisors(n): +def sum_of_divisors(n: int) -> int: """Calculate Sum of Divisors. - >>> sum_of_divisors(72) - 195 + >>> sum_of_divisors(100) + 217 """ s = 1 - temp = 1 while n % 2 == 0: temp += 1 n = int(n / 2) if temp > 1: s *= (2 ** temp - 1) / (2 - 1) - for i in range(3, int(math.sqrt(n)) + 1, 2): temp = 1 while n % i == 0: @@ -67,27 +59,24 @@ def sum_of_divisors(n): n = int(n / i) if temp > 1: s *= (i ** temp - 1) / (i - 1) - - return s + return int(s) -def euler_phi(n): - """Calculte Euler's Phi Function.""" +def euler_phi(n: int) -> int: + """Calculte Euler's Phi Function. + >>> euler_phi(100) + 40 + """ l = prime_factors(n) l = set(l) s = n for x in l: s *= (x - 1) / x - return s + return int(s) -def main(): - """Print the Results of Basic Math Operations.""" +if __name__ == "__main__": print(prime_factors(100)) print(number_of_divisors(100)) print(sum_of_divisors(100)) print(euler_phi(100)) - - -if __name__ == "__main__": - main() From 057f6a890490a436be2197936b37686447aa751b Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Tue, 29 Oct 2019 21:53:46 +0100 Subject: [PATCH 3/3] Add a space to fix the doctest --- neural_network/perceptron.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neural_network/perceptron.py b/neural_network/perceptron.py index d64c0a5c4341..26d48506254b 100644 --- a/neural_network/perceptron.py +++ b/neural_network/perceptron.py @@ -90,7 +90,7 @@ def sort(self, sample) -> None: >>> data = [[2.0149, 0.6192, 10.9263]] >>> targets = [-1] >>> perceptron = Perceptron(data,targets) - >>> perceptron.training() # doctest:+ELLIPSIS + >>> perceptron.training() # doctest: +ELLIPSIS ('\\nEpoch:\\n', ...) ... >>> perceptron.sort([-0.6508, 0.1097, 4.0009]) # doctest: +ELLIPSIS