运行Python单词搜索代码输出“Word found”后多出None的原因是什么?
问题原因
- Python中所有未显式使用
return语句指定返回值的函数,默认返回值为None - 你定义的
search函数内部已经通过print输出了结果字符串,本身没有设置返回值,调用时外层额外加了print,就会先输出函数内部打印的内容,再输出函数返回的None,也就是你看到的额外输出。
修复方法
方法1:去掉调用时的外层print
函数内部已经完成打印操作,直接调用即可,不需要再次打印返回值:
# 把最后一行的print(search(text, word))改成如下内容 search(text, word)
方法2:修改函数为返回结果字符串,外层打印返回值
把打印逻辑移到函数外,函数只返回判断结果,避免重复打印:
def search(tx, wd): if wd in tx: return "Word found" else: return "Word not found" print(search(text, word))
内容的提问来源于stack exchange,提问作者Norika Gilbert
相关产品推荐
相关产品推荐

