Udacity CS101:不确定这个嵌套字典问题是错的还是我遗漏了什么

2024-10-04 05:30:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Udacity CS101上Python的超级初学者。任务是将条目is_noble_gas添加到现有的嵌套字典中,以便在用括号查找时显示TrueFalse。你知道吗

当我提交this代码来回答这个问题时,它告诉我我错了。我是不是忽略了什么?你知道吗

这是测验题:

测验:向嵌套词典添加值

尝试使用嵌套词典。在elements字典的每个字典中添加另一个条目“is noble\u gas”。插入新条目后,您应该能够执行以下查找:

>>> print(elements['hydrogen']['is_noble_gas'])
False
>>> print(elements['helium']['is_noble_gas'])
True

这就是我的尝试:

elements = { 
   'hydrogen': {'number': 1, 'weight': 1.00794, 'symbol': 'H',
                'is_noble_gas': 'False'}, 
   'helium': {'number': 2, 'weight': 4.002602, 'symbol': 'He',
              'is_noble_gas': 'True'}
}

Tags: falsetruenumber字典is条目elementssymbol
1条回答
网友
1楼 · 发布于 2024-10-04 05:30:57

首先,你没有做错什么。小测验的问题问得不太准确,测试也没有发现这个问题能以同样的方式解决的可能性。你知道吗

您只将is_noble_gas的值定义为字符串。你的尝试没有错。测验并没有真正明确说明布尔值实际上是必需的。你知道吗

误解是print命令必须使用字符串表示。使用布尔值作为值本身是有意义的,只是作为字符串。例如在PEP-285中描述了这一点。你知道吗

不过,将布尔值作为值的解决方案当然更为优雅,因为它只能接受两个值,而且这些值也应该是TrueFalse。你知道吗

此外,我还可以想象,测验不需要更改字典本身,而是需要在一个额外语句中将值赋给嵌套字典。你知道吗

相关问题 更多 >