이 임무에 당신이 어떤 부울 연산 구현해야합니다 그렇지 않으면파이썬 작업
- "함께"표시 X ∧ y를 만족 X를 ∧ Y = 경우 X = Y = 1 : 1 및 X ∧ Y = 0 .
- "disjunction"은 x ∨ y로 표시되고, x = y = 0이면 x ∨ y = 0이고 그렇지 않으면 x ∨ y = 1을 만족합니다.
- "암시"(물질 의미)는 x → y로 표시되며 ¬ x ∨ y로 나타낼 수 있습니다. x가 true이면 x → y의 값은 y의 값이됩니다. 그러나 x가 거짓이면 y의 값을 무시할 수 있습니다. 그러나 연산은 일부 진리 값을 반환해야하며 두 가지 선택 만 가능하므로 반환 값은 더 적은 수 즉 true를 반환합니다.
- "배타적"(배타적 또는) x + y로 표시되며 (x ∨ y) ∧ ¬ (x ∧ y)로 설명 할 수 있습니다. 그것은 x와 y의 가능성을 배제합니다. 산술적으로 정의하면 1 + 1 = 0 인 추가 mod 2입니다.
- "등가"는 x ≡ y로 표시되며 ¬ (x ⊕ y)로 나타낼 수 있습니다. x와 y가 같은 값을 가질 때만 사실입니다. 여기
이러한 작업을 위해 진실 테이블을 볼 수
x | y | x∧y | x∨y | x→y | x⊕y | x≡y | -------------------------------------- 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | --------------------------------------
두 부울 값 X를 부여하고 1 또는 0으로 y를 앞에서 설명한대로 작업 이름을 부여하고 있습니다. 당신은 여기에 지금까지 내 코드는 값을 계산하고 1 또는 0
로 반환해야합니다 :
OPERATION_NAMES = ("conjunction", "disjunction", "implication", "exclusive", "equivalence")
def boolean(x, y, operation):
if (x and y) == 0:
return 0
elif (x or y) == 1:
return 1
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert boolean(1, 0, u"conjunction") == 0, "and"
assert boolean(1, 0, u"disjunction") == 1, "or"
assert boolean(1, 1, u"implication") == 1, "material"
assert boolean(0, 1, u"exclusive") == 1, "xor"
assert boolean(0, 1, u"equivalence") == 0, "same?"
첫 번째 내가 분리하고 다른 작업을 완료에 문제가있어 작동하는지! 좀 도와 주실 래요?
아무것도에 대한 작업 솔루션? – jonrsharpe
예 나머지 작업을 어떻게 수행해야할지 모르겠다. –
* [어떻게해야할지 모르겠다] * [주제에 관한 질문]이 아닙니다. (http://stackoverflow.com/help/on- 이야기). 당신의 시도는 어디에서, 정확히 무엇이 잘못 되었습니까? – jonrsharpe