虽然循环使用用户输入和命令运行



我需要制作一个程序来存储联系人(姓名和电话号码(。第一步是使程序运行,除非输入为"退出"。该程序应提供一组选项。我的问题是,当我输入一个选项时,它会再次提供一组选项,我必须第二次输入该选项才能运行。

我有点理解为什么该程序会这样做,所以我尝试了一段时间 True,但它不起作用。

def main():
options = input( "Select an option [add, query, list, exit]:" ) 
while options != "exit" : 
options = input( "Select an option [add, query, list, exit]:" )
# Offrir un choix de commandes
if options == "add":
add_contact(name_to_phone)
if options == "query":
query_contact(name_to_phone)
if options == "list":
list_contacts(name_to_phone)
Select an option [add, query, list, exit]:add
Select an option [add, query, list, exit]:add
Enter the name of a new contact:

这是由于您的第一个选择,请改为这样做:

def main():
options = None
while options != "exit" : 
options = input( "Select an option [add, query, list, exit]:" )
# Offrir un choix de commandes
if options == "add":
add_contact(name_to_phone)
if options == "query":
query_contact(name_to_phone)
if options == "list":
list_contacts(name_to_phone)

在进入循环之前,您无需为"选项"设置任何值。您可以使用无限循环(而为 True(来检查循环内"option"的值并相应地执行操作。如果用户进入"退出",则可以脱离循环。试试这个:

def main():
#options = input( "Select an option [add, query, list, exit]:" ) 
while True : 
options = input( "Select an option [add, query, list, exit]:" )
# Offrir un choix de commandes
if options == "add":
add_contact(name_to_phone)
if options == "query":
query_contact(name_to_phone)
if options == "list":
list_contacts(name_to_phone)
if options == "exit":
break

这是因为 while 循环中的第一行也在请求选项。

您可以删除 while 循环之前的行options = input( "Select an option [add, query, list, exit]:",并在开始时设置选项 = ''。

def main():
options = '' 
while options != "exit" : 
options = input( "Select an option [add, query, list, exit]:" )
# Offrir un choix de commandes
if options == "add":
add_contact(name_to_phone)
if options == "query":
query_contact(name_to_phone)
if options == "list":
list_contacts(name_to_phone)

相关内容

  • 没有找到相关文章

最新更新