我正在尝试实现一个解决方案,其中我调用displayPerson()来接受用户输入的ID号,并将为用户打印信息。我应该注意,我正在从Internet下载包含以下格式数据的csv文件:
id,姓名,生日
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),显示数据,然后询问另一个数字。如果用户输入零,则会显示“已终止”消息,然后停止,但我发现很难做其他任何事情。
这是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")))
答案 0 :(得分:0)
解决方案
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
:显示人物
否则,请跳出循环并打印“已终止”。