我已经定义了这个函数,它接受一个单词和一串必需的字母,如果单词至少使用一次所需的字母,则返回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')
Run Code Online (Sandbox Code Playgroud)
输出:
False
None
Run Code Online (Sandbox Code Playgroud)
关于我出错的地方的评论将不胜感激.
您的程序打印boolean,这是假的,所以你知道它来自哪里.
如果函数没有显式返回任何内容,它会自动返回None,并在您使用时返回
print uses_all('facebook', 'd')
Run Code Online (Sandbox Code Playgroud)
你要求它打印什么uses_all返回,这是无.因此:
False
None
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我认为你的功能可以更简洁地写成
def uses_all(word, allused):
return all(e in word for e in allused)
Run Code Online (Sandbox Code Playgroud)
可以提高效率,但这对政府工作应该足够好.将所有的功能是非常方便的(见any).
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |