You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码执行后整数结果后出现None的原因咨询

问题原因及解决办法

原因

你的dotProduct函数内部用print(sum)输出了点积结果,但函数没有定义返回值(原本的return sum被注释掉了)。在Python中,没有return语句的函数默认会返回None。

如果是在交互式Python环境(比如Python命令行、Jupyter Notebook)中直接调用这个函数,环境会自动打印函数的返回值,所以就会先输出你想要的sum结果,紧接着输出函数默认返回的None。

解决办法

有两种简单的修复方式:

方式一:让函数返回结果,外部打印

取消注释函数里的return sum,同时删掉内部的print(sum),调用时用print()输出函数返回值:

def dotProduct(listA, listB):
    assert len(listA) == len(listB)
    sum = 0
    for i in range(len(listA)):
        sum += listA[i]*listB[i]
    return sum

print(dotProduct([1,2,3], [4,5,6]))    
print(dotProduct([1, 58, -31, -73, -85, 26, 15, -42], [88, 73, -98, -51, 54, -45, -59, -30]))

方式二:保持函数内部打印,避免环境自动输出返回值

如果想保留函数里的print(sum),可以:

  • 把代码放在.py脚本文件中运行(脚本环境不会自动打印函数返回值);
  • 或者在交互式环境中调用函数时加个分号,抑制返回值的自动打印:
dotProduct([1,2,3], [4,5,6]);    
dotProduct([1, 58, -31, -73, -85, 26, 15, -42], [88, 73, -98, -51, 54, -45, -59, -30]);

内容的提问来源于stack exchange,提问作者Lilian Zhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 00:06:26