我定义了这个函数,它接受一个单词和一系列必需的字母,如果单词至少使用一次所有必需的字母,则返回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}$如果您能对我的错误之处提出意见,我们将不胜感激。在
您的程序打印
boolean
,这是错误的,所以您知道它来自哪里。在如果一个函数没有显式返回任何内容,它会自动返回None,并且当您使用
您要求它打印
^{pr2}$uses_all
返回的内容,即None。因此:顺便说一句,我认为您的函数可以更简洁地写为
可以提高效率,但这对政府工作来说已经足够了。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
:)相关问题 更多 >
编程相关推荐