编写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
相关产品推荐
相关产品推荐

