为什么我收到“名称未定义”错误消息?

我正在学习 Python 函数的在线课程。我收到一个 NameError ,如下所示。有人能弄清楚为什么我会收到这样的错误吗?


def student_details (**details_dictionary): 

    if 'name' in details : 

        print ("Name:", details['name'] ) 

    if 'age' in details : 

        print ("Age:", details['age'] ) 

    if 'college' in details : 

        print ("College:", details['college'] )


student_details(name="John")

 NameError Traceback (most recent call last)

 <ipython-input-24-9617ce938851> in <module>

 ----> 1 student_details(name="John")


 <ipython-input-23-1424bf8f28d7> in

 student_details(**details_dictionary)

       1 def student_details (**details_dictionary):

 ----> 2     if 'name' in details :

       3         print ("Name:", details['name'] )

       4     if 'age' in details :

       5         print ("Age:", details['age'] )


NameError: name 'details' is not defined


慕婉清6462132
浏览 209回答 3
3回答

杨魅力

尝试details改变details_dictionary

青春有我

def&nbsp;student_details&nbsp;(**details_dictionary):在这里你命名参数details_dictionary&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;'name'&nbsp;in&nbsp;details&nbsp;:&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;("Name:",&nbsp;details['name']&nbsp;)然后在这里您尝试使用名为details.&nbsp;这些名称应该相同。我建议您将前者更改为 just&nbsp;details。您通常应该避免在变量名中使用类似dictionary或list描述数据结构类型的词。例如,如果您返回并将字典更改为列表,那么您也必须跟踪变量名称以更改它们。您可以通过将这些细节从变量名中删除来避免这种额外的工作。

绝地无双

您没有任何名为 的变量或引用details。更改details为details_dictionary或更改您的参数名称以对应details
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python