返回一个布尔值,而不是Python中包含True或False的字符串

返回一个布尔值,而不是Python中包含True或False的字符串,python,python-2.7,boolean,Python,Python 2.7,Boolean,我对True或False布尔值有一个小问题 我已经定义了一个过程weekend,它以字符串作为输入,如果“星期六”或“星期日”返回布尔值True,否则返回False 这是我的周末功能: def weekend(day): if day == 'Saturday' or day == 'Sunday': return "True" else: return "False" 以下是我的输出: >>>print weekend('Mo

我对
True
False
布尔值有一个小问题

我已经定义了一个过程
weekend
,它以字符串作为输入,如果“星期六”或“星期日”返回布尔值
True,否则返回
False

这是我的
周末
功能:

def weekend(day):
    if day == 'Saturday' or day == 'Sunday':
        return "True"
    else:
        return "False"
以下是我的输出:

>>>print weekend('Monday')
False
>>>print weekend('Saturday')
True
>>>print weekend('July')
False
但正如您在代码中看到的,我返回一个字符串,但我想返回一个布尔值
真或假

我该怎么做

谢谢。

试试这个:

def weekend(day):
    if day == 'Saturday' or day == 'Sunday':
        return True
    else:
        return False
或者这个:

def weekend(day):
    return day == 'Saturday' or day == 'Sunday'
或者更简单:

def weekend(day):
    return day in ('Saturday', 'Sunday')
def weekend(day):
    return day in ('Saturday', 'Sunday')

无论如何:在Python中,布尔值是
True
False
,没有引号-但也知道存在多个假值-即,如果在条件中使用,则其行为与
False
完全相同。例如:
[]
None
{}
0
()

,这是编写函数并输出布尔值的最短方法

def weekend(day):
    return day == 'Saturday' or day == 'Sunday'


您正在执行返回“True”和返回“False”的操作,这使它成为字符串而不是布尔值

您的问题是在
True
周围使用了
标记,删除这些标记,它就会起作用。下面是编写此方法的一些更具python风格的方法:

def weekend(day):
    if day.lower() in ('saturday', 'sunday'):
        return True
    else:
        return False
检查时使用
.lower()
是忽略大小写的好方法。您还可以使用
in
语句查看字符串列表中是否找到该字符串

这是一条超短的路

def weekend(day):
  return day.lower() in ('saturday', 'sunday')

如果您想返回一个布尔值而不是字符串,只需去掉围绕True和False的引号
'

试试这个:

def weekend(day):
    """ Return True if day is Saturday or Sunday otherwise False."""

    return day in ('saturday', 'sunday'):
或者正如我前面的其他人所说:

def weekend(day):
    """ Return True if day is Saturday or Sunday otherwise False."""

    return day == 'Saturday' or day == 'Sunday' 

只要去掉
“True”
/
“False”
,当然
0.
也是假的(更不用说
0j
0L
)。
def weekend(day):
    """ Return True if day is Saturday or Sunday otherwise False."""

    return day == 'Saturday' or day == 'Sunday'