Python 函数打印正确的输出和无
我已经定义了这个函数,它接受一个单词和一组必需的字母,如果单词至少使用了所有必需的字母一次,则返回True。当我运行它时,它会给我正确的输出,但我不明白为什么它也会输出“无” 这是我的密码:Python 函数打印正确的输出和无,python,Python,我已经定义了这个函数,它接受一个单词和一组必需的字母,如果单词至少使用了所有必需的字母一次,则返回True。当我运行它时,它会给我正确的输出,但我不明白为什么它也会输出“无” 这是我的密码: def uses_all(word, allused): boolean = False for e in allused: if e in word: boolean = True else: boolean
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')
输出:
False
None
如果您能对我的错误进行评论,我们将不胜感激 打印函数结果,但函数不返回任何内容(->None) 如果希望结果为
False
,请在函数中添加return boolean
或者,如果一个
False
就足够了,您可以将print uses\u all('facebook','d')
更改为justuses\u all('facebook','d')
您的程序打印的布尔值
,这是False,因此您知道它来自何处
如果函数没有显式返回任何内容,那么当您使用
print uses_all('facebook', 'd')
您要求它打印使用的\u all
返回的内容,而这是None。因此:
False
None
顺便说一句,我认为你的函数可以更简洁地写成
def uses_all(word, allused):
return all(e in word for e in allused)
可以提高效率,但这对于政府工作来说已经足够了。该函数非常方便(另请参见
any
)。,因为使用了\u all()
没有返回语句。如果您从函数返回一个值,它将被打印出来,而不是无,除非您返回无:)布尔值
对于变量来说是一个坏名字--它告诉我们变量的类型,我们已经知道,因为它是真
或假
,但您没有告诉我们它的含义。