From de0635398ffd576cb5ecf8edc06828a5011867e8 Mon Sep 17 00:00:00 2001 From: Grant Date: Thu, 6 Oct 2022 14:36:53 -0500 Subject: [PATCH 1/8] Create resistor_equivalence.py --- electronics/resistor_equivalence.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 electronics/resistor_equivalence.py diff --git a/electronics/resistor_equivalence.py b/electronics/resistor_equivalence.py new file mode 100644 index 000000000000..09d97c969059 --- /dev/null +++ b/electronics/resistor_equivalence.py @@ -0,0 +1,28 @@ +def resistor_parallel(resistors : list[float]): #Req = 1/ (1/R1 + 1/R2 + ... + 1/Rn) + firstSum = 0 + index = 0 + for resistor in resistors: + if resistor < 0: + raise ValueError(f"Resistor at index {index} has a negative value!") + firstSum += 1/resistor + index += 1 + return (1/firstSum) + + +def resistor_series(resistors : list[float]): #Req = R1 + R2 + ... + Rn + sum = 0 + index = 0 + for resistor in resistors: + + sum += resistor + if resistor < 0: + raise ValueError(f"Resistor at index {index} has a negative value!") + index += 1 + print(sum) + return sum + + + + +if __name__ == "__main__": + print(resistor_parallel([3.21389, 2, 3])) From 2a22500e935a4f62af7a77c92596685ea94c02bd Mon Sep 17 00:00:00 2001 From: Gmuslow <54784260+Gmuslow@users.noreply.github.com> Date: Thu, 6 Oct 2022 17:20:51 -0500 Subject: [PATCH 2/8] Update resistor_equivalence.py --- electronics/resistor_equivalence.py | 53 ++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/electronics/resistor_equivalence.py b/electronics/resistor_equivalence.py index 09d97c969059..3b7718f0434b 100644 --- a/electronics/resistor_equivalence.py +++ b/electronics/resistor_equivalence.py @@ -1,16 +1,46 @@ -def resistor_parallel(resistors : list[float]): #Req = 1/ (1/R1 + 1/R2 + ... + 1/Rn) - firstSum = 0 +# https://byjus.com/equivalent-resistance-formula/ + +from __future__ import annotations + + +def resistor_parallel( + resistors: list[float], +) -> float: # Req = 1/ (1/R1 + 1/R2 + ... + 1/Rn) + """ + >>> resistor_parallel([3.21389, 2, 3]) + 0.8737571620498019 + >>> resistor_parallel([3.21389, 2, -3]) + Traceback (most recent call last): + ... + ValueError: Resistor at index 2 has a negative or zero value! + >>> resistor_parallel([3.21389, 2, 0.000]) + Traceback (most recent call last): + ... + ValueError: Resistor at index 2 has a negative or zero value! + """ + + firstSum = 0.00 index = 0 for resistor in resistors: - if resistor < 0: - raise ValueError(f"Resistor at index {index} has a negative value!") - firstSum += 1/resistor + if resistor <= 0: + raise ValueError(f"Resistor at index {index} has a negative or zero value!") + firstSum += 1 / float(resistor) index += 1 - return (1/firstSum) + return 1 / firstSum -def resistor_series(resistors : list[float]): #Req = R1 + R2 + ... + Rn - sum = 0 +def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + Rn + """ + This function can calculate the equivalent resistance for any number of + resistors in parallel. + >>> resistor_series([3.21389, 2, 3]) + 8.21389 + >>> resistor_series([3.21389, 2, -3]) + Traceback (most recent call last): + ... + ValueError: Resistor at index 2 has a negative value! + """ + sum = 0.00 index = 0 for resistor in resistors: @@ -18,11 +48,10 @@ def resistor_series(resistors : list[float]): #Req = R1 + R2 + ... + Rn if resistor < 0: raise ValueError(f"Resistor at index {index} has a negative value!") index += 1 - print(sum) return sum - - if __name__ == "__main__": - print(resistor_parallel([3.21389, 2, 3])) + import doctest + + doctest.testmod() From eea6d60ddf6e403a1edf52a3cf545176e2caeee5 Mon Sep 17 00:00:00 2001 From: Gmuslow <54784260+Gmuslow@users.noreply.github.com> Date: Sun, 9 Oct 2022 22:59:43 -0500 Subject: [PATCH 3/8] Update electronics/resistor_equivalence.py removed an unnecessary space Co-authored-by: Caeden --- electronics/resistor_equivalence.py | 1 - 1 file changed, 1 deletion(-) diff --git a/electronics/resistor_equivalence.py b/electronics/resistor_equivalence.py index 3b7718f0434b..db08db9c59b2 100644 --- a/electronics/resistor_equivalence.py +++ b/electronics/resistor_equivalence.py @@ -43,7 +43,6 @@ def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + R sum = 0.00 index = 0 for resistor in resistors: - sum += resistor if resistor < 0: raise ValueError(f"Resistor at index {index} has a negative value!") From 21d36374bca8556d5d8872bddfd4671a1f41b4da Mon Sep 17 00:00:00 2001 From: Gmuslow <54784260+Gmuslow@users.noreply.github.com> Date: Sun, 16 Oct 2022 11:26:46 -0500 Subject: [PATCH 4/8] Update resistor_equivalence.py fixed the snake_case requirement --- electronics/resistor_equivalence.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/electronics/resistor_equivalence.py b/electronics/resistor_equivalence.py index db08db9c59b2..d6020c04b985 100644 --- a/electronics/resistor_equivalence.py +++ b/electronics/resistor_equivalence.py @@ -2,7 +2,6 @@ from __future__ import annotations - def resistor_parallel( resistors: list[float], ) -> float: # Req = 1/ (1/R1 + 1/R2 + ... + 1/Rn) @@ -19,15 +18,14 @@ def resistor_parallel( ValueError: Resistor at index 2 has a negative or zero value! """ - firstSum = 0.00 + first_Sum = 0.00 index = 0 for resistor in resistors: if resistor <= 0: raise ValueError(f"Resistor at index {index} has a negative or zero value!") - firstSum += 1 / float(resistor) + first_Sum += 1 / float(resistor) index += 1 - return 1 / firstSum - + return 1 / first_Sum def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + Rn """ @@ -43,13 +41,13 @@ def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + R sum = 0.00 index = 0 for resistor in resistors: + sum += resistor if resistor < 0: raise ValueError(f"Resistor at index {index} has a negative value!") index += 1 return sum - if __name__ == "__main__": import doctest From f960440ff81f5034fd42fdabfd5d929d20c223bc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 16 Oct 2022 16:28:06 +0000 Subject: [PATCH 5/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- electronics/resistor_equivalence.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/electronics/resistor_equivalence.py b/electronics/resistor_equivalence.py index d6020c04b985..3e185415a7b8 100644 --- a/electronics/resistor_equivalence.py +++ b/electronics/resistor_equivalence.py @@ -2,6 +2,7 @@ from __future__ import annotations + def resistor_parallel( resistors: list[float], ) -> float: # Req = 1/ (1/R1 + 1/R2 + ... + 1/Rn) @@ -27,6 +28,7 @@ def resistor_parallel( index += 1 return 1 / first_Sum + def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + Rn """ This function can calculate the equivalent resistance for any number of @@ -48,6 +50,7 @@ def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + R index += 1 return sum + if __name__ == "__main__": import doctest From 68af9ca310bb96eef606342887a969c9ff5792ae Mon Sep 17 00:00:00 2001 From: Gmuslow <54784260+Gmuslow@users.noreply.github.com> Date: Sun, 16 Oct 2022 12:44:23 -0500 Subject: [PATCH 6/8] Update resistor_equivalence.py finalize the naming convention errors (hopefully) --- electronics/resistor_equivalence.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/electronics/resistor_equivalence.py b/electronics/resistor_equivalence.py index 3e185415a7b8..d6b5a8ee21e3 100644 --- a/electronics/resistor_equivalence.py +++ b/electronics/resistor_equivalence.py @@ -19,14 +19,14 @@ def resistor_parallel( ValueError: Resistor at index 2 has a negative or zero value! """ - first_Sum = 0.00 + first_sum = 0.00 index = 0 for resistor in resistors: if resistor <= 0: raise ValueError(f"Resistor at index {index} has a negative or zero value!") - first_Sum += 1 / float(resistor) + first_sum += 1 / float(resistor) index += 1 - return 1 / first_Sum + return 1 / first_sum def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + Rn @@ -40,15 +40,15 @@ def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + R ... ValueError: Resistor at index 2 has a negative value! """ - sum = 0.00 + sum_r = 0.00 index = 0 for resistor in resistors: - sum += resistor + sum_r += resistor if resistor < 0: raise ValueError(f"Resistor at index {index} has a negative value!") index += 1 - return sum + return sum_r if __name__ == "__main__": From 4bb0d90dc4104bcfad283ccb7aa58a534275e99e Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sun, 30 Oct 2022 22:23:37 +0100 Subject: [PATCH 7/8] Update resistor_equivalence.py --- electronics/resistor_equivalence.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/electronics/resistor_equivalence.py b/electronics/resistor_equivalence.py index d6b5a8ee21e3..47a7c7d15879 100644 --- a/electronics/resistor_equivalence.py +++ b/electronics/resistor_equivalence.py @@ -3,10 +3,10 @@ from __future__ import annotations -def resistor_parallel( - resistors: list[float], -) -> float: # Req = 1/ (1/R1 + 1/R2 + ... + 1/Rn) +def resistor_parallel(resistors: list[float]) -> float: """ + Req = 1/ (1/R1 + 1/R2 + ... + 1/Rn) + >>> resistor_parallel([3.21389, 2, 3]) 0.8737571620498019 >>> resistor_parallel([3.21389, 2, -3]) @@ -29,10 +29,12 @@ def resistor_parallel( return 1 / first_sum -def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + Rn +def resistor_series(resistors: list[float]) -> float: """ - This function can calculate the equivalent resistance for any number of - resistors in parallel. + Req = R1 + R2 + ... + Rn + + Calculate the equivalent resistance for any number of resistors in parallel. + >>> resistor_series([3.21389, 2, 3]) 8.21389 >>> resistor_series([3.21389, 2, -3]) @@ -43,7 +45,6 @@ def resistor_series(resistors: list[float]) -> float: # Req = R1 + R2 + ... + R sum_r = 0.00 index = 0 for resistor in resistors: - sum_r += resistor if resistor < 0: raise ValueError(f"Resistor at index {index} has a negative value!") From 2b15ceccd15cf107f2e057daf5d1eb3c38935a7e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 30 Oct 2022 21:24:36 +0000 Subject: [PATCH 8/8] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- electronics/resistor_equivalence.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/electronics/resistor_equivalence.py b/electronics/resistor_equivalence.py index 47a7c7d15879..7142f838a065 100644 --- a/electronics/resistor_equivalence.py +++ b/electronics/resistor_equivalence.py @@ -6,7 +6,7 @@ def resistor_parallel(resistors: list[float]) -> float: """ Req = 1/ (1/R1 + 1/R2 + ... + 1/Rn) - + >>> resistor_parallel([3.21389, 2, 3]) 0.8737571620498019 >>> resistor_parallel([3.21389, 2, -3]) @@ -34,7 +34,7 @@ def resistor_series(resistors: list[float]) -> float: Req = R1 + R2 + ... + Rn Calculate the equivalent resistance for any number of resistors in parallel. - + >>> resistor_series([3.21389, 2, 3]) 8.21389 >>> resistor_series([3.21389, 2, -3])