更改布尔输出

时间:2016-06-02 04:04:38

标签: python boolean

我试图更改布尔值的输出。

例如,如果我有类似的话:

3 == 3

我不希望它返回True,但要返回我指定的内容,例如Correct

我该怎么做?

由于

3 个答案:

答案 0 :(得分:4)

def equivalence(a,b):

    if(a==b):
       print("Correct")
    else:
       print("Incorrect")

然后你可以调用这个函数。

equivalence(5,5) #This will print "Correct"
equivalence(5,6) #This will print "Incorrect"

如果您确实想要更改==实际所做的事情,则必须覆盖运算符类__eq__。但如果你刚开始编程,这很快就会失控。

编辑以解决OP的评论:

我写的东西可以替换成任何东西。你可以做一些简单的事情:

if(2+3<5-7):
   print("Correct")
else:
   print("Incorrect")

一般格式为:

if(condition):
   #What to do if condition is true.
else:
   #What to do if condition is false.

您甚至不需要执行此功能。你可以像我上面那样使用if语句。

第二次修改:

好的,现在我看到了你想要的东西。这是你可以做的。这可能有点复杂,但请耐心等待。

创建一个这样的函数。只要你保持一致,你就可以任意命名:

def booleanizer(condition):
   if(condition):
      print("Correct")
      return True
   else:
      print("Incorrect")
      return False

现在,只要你有条件语句,你试图打印“正确”或“不正确”,只需将条件语句包装在booleanizer中,如下所示:

假设你有2+3<5-7,并且想要“booleanize”它。

booleanizer(2+3<5-7) #this prints "Incorrect"

或者您可以将此应用于任何条件

booleanizer("This"=="This") #Prints "Correct"
booleanizer(7<5) #Prints "Incorrect"

等...

答案 1 :(得分:2)

要做的shorties way是:

"Correct" if 3 == 3 else "Incorrect"

没有好办法改变print(True)输出的行为。

答案 2 :(得分:-1)

x = float(input("enter a Number between 1 - 5: "))

Correct = False

while (not Correct):

    if x == 3:
        Correct = True
        print("Correct")

    else:
        print("sorry guess again!")
        x = float(input("enter a Number between 1 - 5: "))