【发布时间】:2018-01-20 20:36:58
【问题描述】:
下面是字典:
std[name]={'uid':uid ,'age':age,'subject':{'math':math,'phy':phy,'chem':chem}}
输出应该是:
列出 name 和 uid。
这是我的代码:
std={}
i=0
n=int(raw_input("How many Entries you have to fill:"))
for i in range (n):
name=raw_input("Enter name:")
uid=raw_input("ID:")
age=raw_input("Age:")
print("----Marks----")
math=raw_input("Maths:")
phy=raw_input("Physics:")
chem=raw_input("Chemistry:")
std[name]={'Uid':uid,'Age':age,'subject'{'math':math,'phy':phy,'chem':chem}}
print('\n')
print(std['name']['uid'])
【问题讨论】:
-
print(std['name']['uid'])? -
出现错误:print(std['name']['uid']) KeyError: 'name'
-
那是因为
name之前没有在你的代码中定义 -
您的示例中的名称没有被引用 - 它是一个变量吗?如果是这样,您需要在 dict 查找中使用不带引号的(或引用的字符串)。
-
看看你的帖子。代码很乱。
标签: python dictionary