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

Python使用函数与while True时出现None输出的问题求助

问题解决与提问建议

一、None输出的原因及解决办法

你的代码里出现None是因为:

  • 函数dc内部已经用print输出了结果,但函数没有返回值(return后无内容),Python中函数默认返回None。
  • 最后一行你写了print(dc(b)),相当于把函数返回的None又打印了一遍,所以多了这个额外输出。

两种解决方式:

  1. 直接调用函数,去掉外层print:
    把最后一行的print(dc(b))改成dc(b),这样只会执行函数内部的print,不会额外输出None。修改后的代码:
def dc(args):
    print('sum :', sum(args) ,'Max :', max(args))
    return
b=[]
while True:
    a = input('->')
    if a == "":
        break
    b.append(int(a))

dc(b)
  1. 让函数返回结果字符串,外部统一打印:
    调整函数返回要输出的内容,外部打印返回值,逻辑更清晰:
def dc(args):
    return f'sum : {sum(args)} Max : {max(args)}'
b=[]
while True:
    a = input('->')
    if a == "":
        break
    b.append(int(a))

print(dc(b))

二、Stack Overflow提问改进建议

  • 标题精准具体:比如改成「Python调用函数后额外输出None,如何解决?」,让开发者一眼get问题核心。
  • 标注自身尝试:比如加上“我试过删除函数里的return,但还是出现None”或者“我查了return的基础文档,还是没搞懂根源”,体现你已经做过功课,更易获得帮助。
  • 保持代码极简:你的代码已经做到只保留复现问题的必要内容,这点很好,继续坚持——不要加无关的功能或注释。
  • 突出输出差异:可以把实际输出里的None用加粗标记,比如**None**,让别人更快注意到问题点。
  • 补充背景信息:说明自己是Python新手,刚接触函数和循环,这样别人会用更基础的语言解释,避免过于专业的术语。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 05:30:46