为了账号安全,请及时绑定邮箱和手机立即绑定

Python raw_input 从字典中提取

Python raw_input 从字典中提取

德玛西亚99 2021-06-27 14:58:54
我正在尝试实现一个解决方案,在该解决方案中我调用 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")))
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

解决方案


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:显示人

否则,跳出循环并打印“已终止”。


查看完整回答
反对 回复 2021-06-29
  • 1 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号