我需要多个输入来运行phonebookpython的主函数
我在编写重复输入部分的程序时遇到问题。比如说我需要多个输入来运行phonebookpython的主函数,python,python-3.x,function,Python,Python 3.x,Function,我在编写重复输入部分的程序时遇到问题。比如说 input 1 ___run add_contact() again ask for input input 4____run disp_contact() ... ... 我从来没有写过长代码!:\ 我完全是乞丐!在业余时间学习一点Python 我的导师说,你应该定义几个函数,并将它们放在一个主函数中,以获取输入。 所以,如果有人能告诉我为什么我会这样陷入困境,我将不胜感激 contact={} print(''' phone book
input 1 ___run add_contact()
again ask for input
input 4____run disp_contact()
...
...
我从来没有写过长代码!:\
我完全是乞丐!在业余时间学习一点Python
我的导师说,你应该定义几个函数,并将它们放在一个主函数中,以获取输入。
所以,如果有人能告诉我为什么我会这样陷入困境,我将不胜感激
contact={}
print(''' phone book
1. add contact
2.delete contact
3.search contact
4.display all
5.Quit''')
def add_contact():
name=input('enter the name: ')
number=input('enter the number: ')
contact[name]=number
print(name, 'added to phone book!')
def del_contact():
name=input('enter the name: ')
while name not in contact:
print("not found! try again" )
name=input('enter again: ')
else:
print(name,' deleted')
del contact[name]
name=False
def search_contact():
name=input('enter the name: ')
while name not in contact:
print('not found!')
name=input('enter again: ')
else:
print(name, 'number is :', contact[name])
def disp_contact():
if len(contact)>0:
print('phone book contacts are: ')
for i in contact:
print(i, end=' ')
else:
print('phone book is empty!')
def main_def(num):
if num==1:
add_contact()
elif num==2:
del_contact()
elif num==3:
search_contact()
elif num==4:
disp_contact()
elif num==5:
print('bye bye')
x=int(input(' enter a number: '))
main_def(x)
您可以将
main_def
包装在中,而为True
,并在给出5
时使用exit(O)
正确退出
def main_def(num):
if num == 1:
add_contact()
elif num == 2:
del_contact()
elif num == 3:
search_contact()
elif num == 4:
disp_contact()
elif num == 5:
exit(0)
while True:
x = int(input(' enter a number: '))
main_def(x)
注 对于
del_contact
和search_contact
,您不需要像这样在后面加上else
def del_contact():
name = input('enter the name: ')
while name not in contact:
print("not found! try again")
name = input('enter again: ')
print(name, ' deleted')
del contact[name]
TNX很多,但elif num==5:exit(0)不起作用;(@GhazalKz“没有工作”是什么意思?停止该功能!@GhazalKz我已经尝试过了,它运行得很好,
exit
确实会停止程序,但是你可以在退出前继续打印Ebye刚才说的内容,你认为它不会停止是因为它没有告诉你它停止了吗?我认为我的IDE有问题。对不起。你可以考虑奖励那些帮助过你的人u、 或者至少发表评论来解释缺失的内容;)