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

2024-10-03 21:29:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我对TrueFalse布尔值有个小问题。

我定义了一个过程weekend,它接受一个字符串作为输入,否则返回布尔值True if 'Saturday' or 'Sunday'False

这是我的weekend函数:

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

但正如您在我的代码中看到的,我返回一个字符串,但我想返回一个布尔值True or False

我该怎么做?

谢谢。


Tags: or函数字符串falsetruereturnif定义
3条回答

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

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

或者

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

你的问题是在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')

试试这个:

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')

无论如何:在Python中,布尔值是TrueFalse,没有引号-但也知道存在多个falsy值-也就是说,如果在条件中使用,它们的行为与False完全相同。例如:""[]None{}0()

相关问题 更多 >