Python raw_input 从字典中提取
Python raw_input to extract from dictionary
我正在尝试实现一个解决方案,我调用 displayPerson() 接受用户输入的 ID 号,并为用户打印信息。我应该注意,我正在从互联网上下载一个包含以下格式数据的 csv 文件:
身份证、姓名、生日
1,杰克斯派洛,2000 年 9 月 20 日
我的目标是从用户那里得到一个号码,该号码将查找并显示 ID。我希望提示继续出现并要求用户输入一个数字,直到他们输入负数或 0 退出。
loop= True
while loop== True:
prompt = int(raw_input(" Enter ID of person you would like to search for: "))
break
if prompt >0:
displayPerson(prompt,persons)
else:
print("Terminated.")
就目前而言,如果用户输入 1-100 之间的正数,我能够得到正确的输出,但是当我想让它向用户询问另一个数字时程序停止,但我做不到弄清楚这个是如何工作的,这样它就会给用户一条消息,让他输入另一个小于 101 的数字(而不是给我一个 KeyError),显示数据,然后要求输入另一个数字。如果用户输入零,它会给出 "Terminated" 消息然后停止,但我发现很难做任何其他事情。
这里是displayPerson()函数供参考:
def displayPerson(id, personDataDictionary):
"""
:param id:
:param personDataDictionary: Look at displayPerson in __name__ function. But I thought bday was pieces[2].
:return:
"""
print("id = {}, name = {}, birthday = {}".format(id, personDataDictionary[id][0],
personDataDictionary[id][1].strftime("%Y-%m-%d")))
解决方案
while True:
prompt = int(raw_input(" Enter ID of person you would like to search for: "))
if prompt > 100:
print("Please try again")
continue
elif prompt < 1:
displayPerson(prompt,persons)
else:
break
print("Terminated.")
说明
您进入循环并从用户处获取 ID。
如果prompt > 0
:显示人物
否则,跳出循环并打印 "Terminated"。
我正在尝试实现一个解决方案,我调用 displayPerson() 接受用户输入的 ID 号,并为用户打印信息。我应该注意,我正在从互联网上下载一个包含以下格式数据的 csv 文件:
身份证、姓名、生日
1,杰克斯派洛,2000 年 9 月 20 日
我的目标是从用户那里得到一个号码,该号码将查找并显示 ID。我希望提示继续出现并要求用户输入一个数字,直到他们输入负数或 0 退出。
loop= True
while loop== True:
prompt = int(raw_input(" Enter ID of person you would like to search for: "))
break
if prompt >0:
displayPerson(prompt,persons)
else:
print("Terminated.")
就目前而言,如果用户输入 1-100 之间的正数,我能够得到正确的输出,但是当我想让它向用户询问另一个数字时程序停止,但我做不到弄清楚这个是如何工作的,这样它就会给用户一条消息,让他输入另一个小于 101 的数字(而不是给我一个 KeyError),显示数据,然后要求输入另一个数字。如果用户输入零,它会给出 "Terminated" 消息然后停止,但我发现很难做任何其他事情。
这里是displayPerson()函数供参考:
def displayPerson(id, personDataDictionary):
"""
:param id:
:param personDataDictionary: Look at displayPerson in __name__ function. But I thought bday was pieces[2].
:return:
"""
print("id = {}, name = {}, birthday = {}".format(id, personDataDictionary[id][0],
personDataDictionary[id][1].strftime("%Y-%m-%d")))
解决方案
while True:
prompt = int(raw_input(" Enter ID of person you would like to search for: "))
if prompt > 100:
print("Please try again")
continue
elif prompt < 1:
displayPerson(prompt,persons)
else:
break
print("Terminated.")
说明
您进入循环并从用户处获取 ID。
如果prompt > 0
:显示人物
否则,跳出循环并打印 "Terminated"。