首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复正在打印的多个布尔值

如何修复正在打印的多个布尔值
EN

Stack Overflow用户
提问于 2019-04-15 22:50:54
回答 1查看 76关注 0票数 1

现在,我相信我的函数是不正确的,因为我得到了超过1个布尔输出。

代码语言:javascript
复制
listOstrings = ['cat in the hat','michael meyers','mercury.','austin powers','hi']


def StringLength(searchInteger, listOstrings):

'return Boolean value if the strings are shorter/longer than the first argument'

for i in listOstrings:
    if len(i) < searchInteger:
        print(False)

    else:
        print(True)
EN

回答 1

Stack Overflow用户

发布于 2019-04-15 23:03:59

您不希望为每一项打印TrueFalse;您希望在循环迭代过程中创建一个布尔值。或者更简单地说,只要发现一个未通过测试的元素,就可以返回False,只有在整个循环中没有返回的情况下才返回True

代码语言:javascript
复制
def checkStringLength(searchInteger, lstStrings):
    'return Boolean value if the strings are shorter/longer than the first argument'
    for i in lstStrings:
        if len(i) < searchInteger:
            return False
    return True

使用all函数可以更自然地编写以下代码:

代码语言:javascript
复制
def checkStringLength(searchInteger, lstStrings):
    return all(len(i) >= searchInteger for i in lstStrings)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55691821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档