功能打印正确输出与否

2024-09-30 14:27:56 发布

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

我定义了这个函数,它接受一个单词和一系列必需的字母,如果单词至少使用一次所有必需的字母,则返回True。当我运行这个程序时,它会给我正确的输出,但是我不明白为什么它也会输出'None'。在

这是我的代码:

 def uses_all(word, allused):
    boolean = False
    for e in allused:
        if e in word:
            boolean = True
        else:
            boolean = False
            break 
    print boolean 

print uses_all('facebook', 'd')

输出:

^{pr2}$

如果您能对我的错误之处提出意见,我们将不胜感激。在


Tags: 函数in程序nonefalsetrue定义字母
3条回答

您的程序打印boolean,这是错误的,所以您知道它来自哪里。在

如果一个函数没有显式返回任何内容,它会自动返回None,并且当您使用

print uses_all('facebook', 'd')

您要求它打印uses_all返回的内容,即None。因此:

^{pr2}$

顺便说一句,我认为您的函数可以更简洁地写为

def uses_all(word, allused):
    return all(e in word for e in allused)

可以提高效率,但这对政府工作来说已经足够了。all函数非常方便(另请参见any)。在

您打印了函数的结果,但该函数没有return任何内容(gt;None)

如果希望结果是False False,请在函数中添加return boolean。在

或者,如果一个False就足够了,您可以将print uses_all('facebook', 'd')改为uses_all('facebook', 'd')

因为uses_all()没有return语句。如果从函数返回一个值,它将被打印而不是None,除非您return None:)

相关问题 更多 >