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

Python如何实现用户输入数字累加 现有代码输出None如何解决

问题原因
  • 多余的None是因为你定义的sumDigits函数没有显式设置返回值,Python中所有无主动return的函数默认返回None,你最后执行print(sumDigits(number))时,就会把函数返回的None打印出来,产生额外输出。
  • 现有代码的累加逻辑存在错误:没有存储过往输入的数字,仅在输入0时计算了0+0,永远只能得到和为0的结果,不符合累加所有输入数字的需求。
正确实现代码
def sumDigits():
    total = 0
    while True:
        number = int(input("Please enter a number (enter 0 to exit):"))
        if number == 0:
            print("The sum is", total)
            return total
        total += number

# 直接调用函数即可,函数内部已完成结果打印,无需额外套print
sumDigits()
修改说明
  • 移除了无意义的入参number,在函数内部初始化累加变量total用于存储累加结果
  • 每次输入非0数字时,将其值累加到total中
  • 输入0触发退出时,直接返回累加结果total,避免默认返回None
  • 外层取消print包裹函数调用的写法,避免输出多余内容,如果后续需要用到累加结果,可通过变量接收返回值:res = sumDigits()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:24:03