2013-12-12 4 views
2

그래서, 파이썬으로이 부울 논리 테이블을 넣어하려고하는 것은 우리에게 X (논리 테이블의 끝)을 위해 넣어 아웃을 제공하는 http://imgur.com/Yarq75h파이썬 부울 논리 체인

내 코드는 지금까지 있습니다 :

#Main instructions 
A = input('Enter 0 or 1 for 1st input: ') 

B = input('Enter 0 or 1 for 2nd input: ') 

C = input ('Enter 0 or 1 for 3rd input: ') 

print 'The logic diagram, LOGIC-1 evaluates for the input values, A, B and C to X' 

print "input 1 =",A 

print "input 2 =",B 

print "input 3 =",C 

print (A and not B) and (not B or C) 

그러나 출력이 입력과 일치하지 않습니다. 예를 들어, 입력 0,0,0은 0이됩니다.하지만 1로 지정하고 싶습니다. 또한 입력 1,1,1은 false를 제공합니다.

+0

왜 0,0,0이 1이어야합니까? – thefourtheye

+0

C의 값과 무관하게 A = 1이고 B = 0 인 경우 X = 1입니다. – Reti43

+0

'>>> (False 및 False가 아님)과 (False 또는 False가 아님)은'False'를 반환합니다. ">>> (True 및 True가 아님) 및 (True 또는 True가 아님)'. 나는 당신의 코드에 문제가 있다고 생각하지 않는다. – val

답변

0

코드가 정상적으로 보입니다. 나는 당신이 실수로 논리를 손으로 평가했다고 생각합니다.

  • 시작 "A B C"
  • 재 작성으로 "A N C"에 열 N는 "NOT B"
  • 계산 "A AND N"(사용 '&이'AND를 나타내는)
  • 입니다 : 여기를 통해 작동하는 방법
  • "N OR C"을 계산하십시오 (OR을 나타내는 데 '|'사용)
  • 마지막으로 co 최종 출력 값을 무시하십시오.
이 같이

:

A B C A N C A&N N|C (A&N)&(N|C) 
0 0 0 0 1 0  0 1    0 
0 0 1 0 1 1  0 1    0 
0 1 0 0 0 0  0 0    0 
0 1 1 0 0 1  0 1    0 
1 0 0 1 1 0  1 1    1 
1 0 1 1 1 1  1 1    1 
1 1 0 1 0 0  0 0    0 
1 1 1 1 0 1  0 1    0 

을 내가 파이썬이 확인 루프를 실행할 때, 나는 여기에 손으로 가지고 같은 답변을 얻을.