我们的老师向我们提出了一个挑战,即制作一个允许用户输入元素符号的程序,程序应该输出一些关于元素的信息。
要做到这一点,我必须使用词典。目前我有这个:
elements = {"Li": "Lithium" " 12" " Alkali Metal"}
element = input("Enter an elemental symbol: ")
print (elements[element])
这将打印与李有关的所有内容。
我想知道我怎么能输出,比如Alkali Metal,而不是李的所有相关产品? (是的,我知道12不是锂的原子序数)
答案 0 :(得分:6)
您目前有一个字符串作为值,因此您无法可靠地执行任何操作。您需要存储可以使用子字典执行的单独值:
elements = {"Li": {"full_name":"Lithium", "num":"12", "type":"Alkali Metal"}}
然后只需使用您想要获得的特定值的键访问嵌套的dict:
In [1]: elements = {"Li": {"full_name":"Lithium", "num":"12", "type":"Alkali Metal"}}
In [2]: elements["Li"]["num"]
Out[2]: '12'
In [3]: elements["Li"]["full_name"]
Out[3]: 'Lithium'
In [4]: elements["Li"]["type"]
Out[4]: 'Alkali Metal'
如果你的字符串没有逗号分隔每个子字符串,python将创建一个字符串:
In [5]: "Lithium" " 12" " Alkali Metal"
Out[5]: 'Lithium 12 Alkali Metal'
In [6]: "Lithium","12","Alkali Metal"
Out[6]: ('Lithium', '12', 'Alkali Metal') # now its a three element tuple