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>
This commit is contained in:
AkshajV1309 2022-10-14 01:54:31 +05:30 committed by GitHub
parent 3deb4a3042
commit 05e19128f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,46 @@
""" 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/"""