python-3.x - 在 python 中制作一个 1 位加法器,但是当我输入 (0,1,0) ,(0,1,1),(1,0,0),(1,0,1) 时,我要么没有得到总和或没有执行
问题描述
但是当我输入 (0,1,0) ,(0,1,1),(1,0,0),(1,0,1) 时。我要么没有得到总和,要么没有得到结转。而且我不确定代码有什么问题以及为什么会遇到这个问题。我想我已经根据它们的条件正确地制作了大多数真值表我只是不确定为什么当它应该代表 1 时我没有得到一个总和
***
def main():
a = input("Enter 'A' value(0-1): ")
b = input("Enter 'B' value(0-1): ")
c = input("Enter 'Cin' value(0-1): ")
def bitadder(a,b,c):
def xor_g(a,b):
if a != "1":
if b == "0":
if a == "0" and b == "0":
if a or b == "0":
return("0")
else:
return("1")
if a == "1":
if b != "0":
if a == "1" and b == "1":
if a or b == "1":
return("0")
else:
return("1")
if b == "1":
if a == "0":
if a == "0" and b == "1":
if a or b == "0":
return("1")
if b == "0":
if a == "1":
if a == "1" and b == "0":
if a or b == "1":
return("1")
#XOR logic gate
xor_g(a,b)
def and_g(a,b):
if a == "1" and b == "1":
return("1")
else:
return("0")
#AND logic gate
and_g(a,b)
def or_g(a,b):
if a == "0" or b == "0":
return("0")
else:
return("1")
#OR logic gate
or_g(a,b)
d = xor_g(a,b)
sum = xor_g(d,c)
g = and_g(d,c)
e = and_g(a,b)
out = xor_g(g,e)
print(sum,out)
bitadder(a,b,c)
#I think I have made most of the truth tables correctly based on their conditions I'm just not sure why I'm getting none as a sum when it should represent 1
***
main()
解决方案
推荐阅读
- qt - 如何正确地从 QGraphicsLineItem 派生/继承?
- flutter - Flutter - 如何在滚动页面时制作材质按钮文具
- java - 如何在 oo 应用程序中实例化、配置和使用库/框架?
- angular - 角度管道无法更新值
- maven - 用于使用 Jhipster java11 编码 UTF-8 的不可映射字符 (0xDD)
- html - 如何使图像大小适应html表格中的行高
- c# - ASP.NET MVC 网站随机记录具有多个 Wordpress 路径的异常,这些路径根本不属于托管站点
- primeng - 使用 Id 在 PrimeNG 下拉列表中进行选择
- javascript - 点分隔字符串数组中的树
- python - 如何将过山车微分方程映射到scipy?