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

Python函数调用输出None问题咨询:lucky_number为何返回None?

为什么调用函数后会出现None输出?

嘿,我来帮你拆解这个问题~

首先看你的函数代码:

def lucky_number(name):
    number = int(len(name) * 9)
    pr = "Hello " + name + ". Your lucky number is " + str(number)
    print(str(pr))

你调用的时候用了print(lucky_number("Kay")),这里其实做了两件事:

  1. 执行lucky_number("Kay"):函数内部的print()语句会输出Hello Kay. Your lucky number is 27。
  2. 执行外层的print():它会打印lucky_number("Kay")的返回值,但你的函数没有写return语句——在Python里,任何没有显式返回值的函数,默认都会返回None,这就是那行None的来源。

同样的逻辑,print(lucky_number("Cameron"))也会先输出函数内部的问候语,再打印函数返回的None。

两种解决办法:

  • 方法一:让函数返回字符串,再用print输出
    修改函数,把内部的print()改成return:
    def lucky_number(name):
        number = int(len(name) * 9)
        pr = "Hello " + name + ". Your lucky number is " + str(number)
        return pr
    
    print(lucky_number("Kay"))       # 输出:Hello Kay. Your lucky number is 27
    print(lucky_number("Cameron"))   # 输出:Hello Cameron. Your lucky number is 63
    
  • 方法二:直接调用函数,不用外层print
    既然函数内部已经做了print,直接调用就行:
    lucky_number("Kay")       # 输出:Hello Kay. Your lucky number is 27
    lucky_number("Cameron")   # 输出:Hello Cameron. Your lucky number is 63
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 20:27:29