如何解决用于输入信息的python程序
所以我正在编写程序,要求在字典中输入人名及其电话号码,直到用户输入“停止”。最后,程序应该要求您提供一个特定的姓名,您希望将电话号码打印出来。如果字典中没有这个名字,程序需要显示“我找不到这个名字。请再试一次: ”。如果他找到它,他会显示相应的电话号码。这是我写的:
dict = {}
name = input('Enter name: ')
while name != '':
if not name in dict:
phone_number = int(input('Enter phone number: '))
print(f'{name}: {phone_number}')
dict[name] = phone_number
name = input('Enter name: ')
if name in dict:
print(dict[name])
else:
break
print(dict)
name2 = input('Enter a name to print the phone number: ')
while name2 != '':
if not name2 in dict:
name2 = input('Enter a name to print the phone number: ')
else:
print(f'Phone number of {name} is {phone_number}.')
break
我不知道如何修复它才能正常工作,我的意思是让它符合我的指示。如果有人给我建议,我会很高兴
解决方法
你的程序设计没有按照你需要做的。请按照以下步骤重新设计:
- 循环并询问姓名和电话号码。将其存储在 dict 中,然后重复。
- 如果用户输入“停止”,则停止此循环。换句话说,运行这个循环直到用户输入“停止”。
- 再次运行循环并询问姓名(如果在您的字典中,则显示该人的电话号码)。
- 如果找到姓名,则显示电话号码并退出循环。
- 如果未找到姓名,请显示您的消息并询问。在第 3 点重复循环,直到找到名称。
下面的代码执行我在上面解释的步骤。
phonebook = {}
name = input('Enter name: ')
while name != 'stop': # run the loop until user enters stop
phone_number = int(input('Enter phone number: '))
print(f'{name}: {phone_number}')
phonebook[name] = phone_number
name = input('Enter name: ')
print(phonebook)
while True: # run the loop indefinitely to keep asking name,use break to force exit when match
name2 = input('Enter a name to print the phone number: ')
if name2 in phonebook:
phone_number = phonebook[name2]
print(f'Phone number of {name2} is {phone_number}.')
break # since match was found,exit the loop now
else:
print(f'I cannot find the name. Please try again')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。