繁体   English   中英

Python 为逻辑含义返回错误的真值表

[英]Python returns wrong truth table for logical implication

在此处输入图片说明

我已经在 Python 中实现了上述含义,但它没有返回预期的结果:

  True       True None
  True      False None
 False       True True
 False      False None

我的python代码是:

def implies(a,b):
    if a:
        return b
    else:True
    return
for p in (True, False):
    for q in (True, False):
        print("%10s %10s %s" %(p,q,implies((p or q) and (not p), q)))

我不明白这里的矛盾。 None 意味着 False 不是吗? 为什么不像它应该的那样打印 True 呢?

def implies(a,b):
    if a:
        return b
    else:True
    return

你的错误在最后两行,如果 !a,你没有返回一个特定的值,所以结果是None 你要:

def implies(a,b):
    if a:
        return b
    else:
        return True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM