【问题标题】:How to repeat the function when there is no user input没有用户输入时如何重复该功能
【发布时间】:2019-10-15 17:13:28
【问题描述】:

我的程序应该存储联系人。当我输入号码时,如果没有用户输入,我需要程序继续询问号码。现在我的程序会考虑添加的联系人,即使用户输入没有输入号码。

我尝试使用 while True 或如果不是。我最接近解决问题的是程序第二次要求输入一个数字,但仅此而已。

def add_contact(name_to_phone):

    # Name...
    names = input("Enter the name of a new contact:")


    # Number...
    numbers = input("Enter the new contact's phone number:")


    # Store info + confirmation
    name_to_phone[names]= numbers
    print ("New contact correctly added")

    return
Select an option [add, query, list, exit]:add
Enter the name of a new contact:Bob
Enter the new contact's phone number:
New contact correctly added
Select an option [add, query, list, exit]:

正如我所说,如果没有用户输入,程序应该继续询问一个数字,只有当有用户输入时才进入下一步。

【问题讨论】:

    标签: python if-statement user-input


    【解决方案1】:

    使用循环。

    def add_contact(name_to_phone):
        while True:
           name = input("Enter the name of a new contact: ")
           if name:
               break
    
        while True:
            number = input("Enter the new contact's phone number: ")
            if number:
                break
    
        name_to_phone[name] = number
        print("New contact correctly added")
    

    除了检查输入是否为空之外,您可能还想对姓名和号码进行更彻底的检查。

    在 Python 3.8 或更高版本中,您可以简单地每个循环一点。也许这将成为一个标准的成语;也许不会。

    while not (name := input("Enter the name...: ")):
        pass
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 2018-04-17
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      相关资源
      最近更新 更多