我定义了这个函数,它接受一个单词和一串必需的字母,并且如果该单词至少使用一次所有必需的字母,则返回 True。当我运行它时,它给出了正确的输出,但我不明白为什么它也输出“无”。
这是我的代码:
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')
Output:
False
None
对我出错的地方提出评论将不胜感激。
你的程序打印boolean
,这是 False,所以你知道它来自哪里。
如果函数没有显式返回任何内容,它会自动返回 None,并且当您使用
print uses_all('facebook', 'd')
你要求它打印什么uses_all
返回,即 None。因此:
False
None
顺便说一句,我认为你的函数可以更简洁地写为
def uses_all(word, allused):
return all(e in word for e in allused)
可以提高效率,但这对于政府工作来说应该足够了。这all功能真的很方便(另请参阅any
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)