【发布时间】:2016-11-27 08:51:42
【问题描述】:
我正在学习用 Python 创建字典,我创建了下面的字典来获取当地警察局预约中心的一名被拘留者的信息。该信息是用户输入的:
local_police = {'Name' : " ",'Phone number' : '','Address' : " ", 'Registered' : ' ','posession' : []} """a dictionary for the suspects details"""
local_police['Name']=raw_input("Enter suspects name:")
local_police['Phone Number']=input("Enter phone number:")
local_police['Address']=raw_input("Enter Address:")
local_police['Registered']=raw_input("Has suspect been registered? Y/N:")
local_police['posession']=raw_input("items in suspect's backpack (seperate each item with a comma):")
print local_police
我注意到我无法在字典中的“电话号码”键中成功输入任何值。谁能解释一下原因?
编辑:我将通过添加以下内容进一步澄清该帖子:
我的预期输出如下所示:
Enter suspects name:thief dude
>>> local_police['Address']=raw_input("Enter Address:")
Enter Address:theif house
>>> local_police['Registered']=raw_input("Has suspect been registered? Y/N:")
Has suspect been registered? Y/N:Y
>>> local_police['posession']=raw_input("items in suspect's backpack (seperate each item with a comma):")
items in suspect's backpack (seperate each item with a comma):gun,knife,puppy
>>> local_police['Phone Number']=raw_input("Enter phone number:")
Enter phone number:111111
>>> print local_police
{'Phone number': '', 'Name': 'thief dude', 'Registered': 'Y', 'Phone Number': '111111', 'posession': 'gun,knife,puppy', 'Address': 'theif house'}
您会注意到,在打印时,为电话号码打印了两个键。一个值为 111111(用户输入的值),另一个为空:
{'Phone number': '', 'Name': 'thief dude', 'Registered': 'Y', 'Phone Number': '111111', 'posession': 'gun,knife,puppy', 'Address': 'theif house'}
【问题讨论】:
-
您使用了
input而不是raw_input。附带说明,第一行的初始化是多余的,您可以简单地创建一个空字典:local_police = {}。 -
raw_input 给出同样的错误
-
哪个是?我们无法在没有看到的情况下猜测您遇到了什么错误。
-
@ZenMournster 你能发布错误以及你期望的输出吗?
-
“输入成功”是什么意思?插入该字段的输入时是否收到异常?或者你只是说之后当你尝试
local_police['Phone number']它返回''?在后一种情况下,正如 Nenad 在他的回答中提到的那样,您在初始定义和输入中使用不同的键,从而创建了两个键值对。
标签: python python-2.7 dictionary key