Electric power
diff --git a/electronics/electric_power.py b/electronics/electric_power.py
new file mode 100644
index 000000000000..768c3d5c7232
--- /dev/null
+++ b/electronics/electric_power.py
@@ -0,0 +1,49 @@
+# https://en.m.wikipedia.org/wiki/Electric_power
+from collections import namedtuple
+
+
+def electric_power(voltage: float, current: float, power: float) -> float:
+    """
+    This function can calculate any one of the three (voltage, current, power),
+    fundamental value of electrical system.
+    examples are below:
+    >>> electric_power(voltage=0, current=2, power=5)
+    result(name='voltage', value=2.5)
+    >>> electric_power(voltage=2, current=2, power=0)
+    result(name='power', value=4.0)
+    >>> electric_power(voltage=-2, current=3, power=0)
+    result(name='power', value=6.0)
+    >>> electric_power(voltage=2, current=4, power=2)
+    Traceback (most recent call last):
+        File "<stdin>", line 15, in <module>
+    ValueError: Only one argument must be 0
+    >>> electric_power(voltage=0, current=0, power=2)
+    Traceback (most recent call last):
+        File "<stdin>", line 19, in <module>
+    ValueError: Only one argument must be 0
+    >>> electric_power(voltage=0, current=2, power=-4)
+    Traceback (most recent call last):
+        File "<stdin>", line 23, in <modulei
+    ValueError: Power cannot be negative in any electrical/electronics system
+    >>> electric_power(voltage=2.2, current=2.2, power=0)
+    result(name='power', value=4.84)
+    """
+    result = namedtuple("result", "name value")
+    if (voltage, current, power).count(0) != 1:
+        raise ValueError("Only one argument must be 0")
+    elif power < 0:
+        raise ValueError(
+            "Power cannot be negative in any electrical/electronics system"
+        )
+    elif voltage == 0:
+        return result("voltage", power / current)
+    elif current == 0:
+        return result("current", power / voltage)
+    elif power == 0:
+        return result("power", float(round(abs(voltage * current), 2)))
+
+
+if __name__ == "__main__":
+    import doctest
+
+    doctest.testmod()

### Describe your change: ###
Used code from ohms_law algorithm, but now for power calculation 

* [x] Add an algorithm?
* [ ] Fix a bug or typo in an existing algorithm?
* [ ] Documentation change?

### **Checklist:**
* [x] I have read [CONTRIBUTING.md](https://github.com/TheAlgorithms/Python/blob/master/CONTRIBUTING.md).
* [x] This pull request is all my own work -- I have not plagiarized.
* [x] I know that pull requests will not be merged if they fail the automated tests.
* [x] This PR only changes one algorithm file.  To ease review, please open separate PRs for separate algorithms.
* [x] All new Python files are placed inside an existing directory.
* [x] All filenames are in all lowercase characters with no spaces or dashes.
* [x] All functions and variable names follow Python naming conventions.
* [x] All function parameters and return values are annotated with Python [type hints](https://docs.python.org/3/library/typing.html).
* [x] All functions have [doctests](https://docs.python.org/3/library/doctest.html) that pass the automated testing.
* [x] All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
* [x] If this pull request resolves one or more open issues then the commit message contains `Fixes: #{$ISSUE_NO}`.
