我有以下代码:
def id_to_article(id):
if id == 1:
article = "article: local"
elif id == 2:
article = "comments(article)"
elif id == 3:
article = "students"
elif id == 4:
....
elif id == 18:
article = "community news"
return article
我只调用ID为1到18的id_to_article
。但是我得到例外:
local variable 'article' referenced before assignment
如何解决这个问题?
答案 0 :(得分:1)
事实上,你很可能不会传递1到18之间的整数,而是其他东西。尝试在第一个if语句之前打印id
和type(id)
,以查看真正到达您的函数的内容。
答案 1 :(得分:0)
article
声明之前,可能未设置 return
。这可以通过在if语句序列之前初始化来解决。