Python/boolean_algebra/norgate.py
AkshajV1309 05e19128f7
Create norgate.py (#7133)
* Create norgate.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Create norgate.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update boolean_algebra/norgate.py

* Update boolean_algebra/norgate.py

* Update boolean_algebra/norgate.py

* Update boolean_algebra/norgate.py

* Update boolean_algebra/norgate.py

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
2022-10-13 22:24:31 +02:00

47 lines
1.3 KiB
Python

""" A NOR Gate is a logic gate in boolean algebra which results to false(0)
if any of the input is 1, and True(1) if both the inputs are 0.
Following is the truth table of an NOR Gate:
| Input 1 | Input 2 | Output |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
"""
"""Following is the code implementation of the NOR Gate"""
def nor_gate(input_1: int, input_2: int) -> int:
"""
>>> nor_gate(0, 0)
1
>>> nor_gate(0, 1)
0
>>> nor_gate(1, 0)
0
>>> nor_gate(1, 1)
0
>>> nor_gate(0.0, 0.0)
1
>>> nor_gate(0, -7)
0
"""
return int(bool(input_1 == input_2 == 0))
def main() -> None:
print("Truth Table of NOR Gate:")
print("| Input 1 |", " Input 2 |", " Output |")
print("| 0 |", " 0 | ", nor_gate(0, 0), " |")
print("| 0 |", " 1 | ", nor_gate(0, 1), " |")
print("| 1 |", " 0 | ", nor_gate(1, 0), " |")
print("| 1 |", " 1 | ", nor_gate(1, 1), " |")
if __name__ == "__main__":
import doctest
doctest.testmod()
main()
"""Code provided by Akshaj Vishwanathan"""
"""Reference: https://www.geeksforgeeks.org/logic-gates-in-python/"""