【发布时间】:2022-01-10 14:24:43
【问题描述】:
我创建了一个非常简单的代码,但在显示它的布尔值时遇到了麻烦。我将放置完整的代码(包括额外的打印,但我的麻烦在于在此处显示 True 或 false:print("Output X is:", AND(a, b))
代码:
#-------------------------|
def AND(a,b):
if a == 1 and b == 1:
return True
else:
return False
#-------------------------|
# main function
if __name__=='__main__':
#-------------------------| Truth Table
print("--> False | OFF | 0" )
print("--> True | ON | 1" )
print( )
print("-------------------------------------")
print("| Truth Table for AND gate |")
print("-------------------------------------")
print("| A = False | B = False | X =",AND(False,False),"| ")
print("| A = False | B = True | X =",AND(False,True),"| ")
print("| A = True | B = False | X =",AND(True,False),"| ")
print("| A = True | B = True | X =",AND(True,True)," | ")
print("-------------------------------------")
print( )
print("* AND gate output is TRUE only if both inputs are TRUE" )
#-------------------------|
print( )
print( )
a= input("Enter a value for input A (0,1): ");
b= input("Enter a value for input B (0,1): ");
print("Output X is:", AND(a, b))
【问题讨论】:
-
你忘了描述你的“麻烦”。
-
您正在将整数与字符串进行比较。而
True == 1,"1" != 1。 -
在您的 input() 前面添加 int(),如下所示:
a= int(input("Enter a value for input A (0,1): ")) -
请不要使用分号。这是unpythonic。
-
是的。谢谢你,尤金!它现在正在工作