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

编写Python函数make_day_string时遇NameError: X未定义问题求助

问题解决:NameError 及函数写法修正

你的代码存在两个关键问题:

  • day == str(X) 使用了比较运算符==,但你实际需求是把整数day转为字符串后赋值给变量X,应该用赋值运算符=;且X在此之前完全未定义,这就是触发NameError的直接原因。
  • 最后一行print(make_day_string(3)缺失右括号,运行时会额外触发语法错误。

以下是两种符合要求的正确写法:

写法1:直接拼接时转换类型

无需额外定义X,直接将参数day转为字符串后拼接:

def make_day_string(day):
    return "it is day " + str(day) + " of the month"

print(make_day_string(3))  # 补上缺失的右括号

写法2:先赋值给X再拼接

如果一定要用到变量X,正确的赋值方式如下:

def make_day_string(day):
    X = str(day)  # 用=完成赋值,将day转为字符串后存入X
    return "it is day " + X + " of the month"

print(make_day_string(3))

两种写法调用make_day_string(3)都会返回"it is day 3 of the month",完全满足题目要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:50:26