python-3.x Phython:添加一个有效的输入后,如何继续请求输入?

vof42yt1  于 2023-10-21  发布在  Python
关注(0)|答案(1)|浏览(139)
my_names = []
while len(my_names) < 2:
    my_name = input("Enter a name: ").strip().lower()
    if my_name == "":
        print("Minimum 2 names.")
        continue  # Continue to prompt for names
    elif my_name in my_names:
        print("No duplicate name...re-enter")
        continue  # Continue to prompt for names
    else:
        my_names.append(my_name)
        print(my_names)
        continue  # Continue to prompt for names

我是一个初学Python的程序员。我的目标是让用户输入2个以上的值,并且该值不能与列表中的值重复。在我到达最后一个else子句之后,即使我有一个“continue”,我的引用也会退出。为什么会这样呢?我怎样才能做到只有在名称列表有2个以上的值,并且用户输入空值之后,while循环才退出?
我试着用嵌套的ifs,但似乎不起作用。没有继续也不行。我想用elif代替else,但是我不知道还有什么其他的表达方式可以作为从句。试着问AI代码的创作者也得不到我想要的结果。太感谢你了!

olmpazwi

olmpazwi1#

根据你的评论,你应该像这样修改你的代码:

my_names = []
while True:
    my_name = input("Enter a name: ").strip().lower()
    if my_name == "":
        if len(my_names) <= 2:
            print("Minimum 2 names.")
            continue  # Continue to prompt for names
        else:
            break  # Exit Loop
    elif my_name in my_names:
        print("No duplicate name...re-enter")
        continue  # Continue to prompt for names
    else:
        my_names.append(my_name)
        print(my_names)
        continue  # Continue to prompt for names

相关问题