繁体   English   中英

没有用户输入时如何重复 function

[英]How to repeat the function when there is no user input

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

我尝试使用一段时间 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]:

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

使用循环。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM