我希望程序在用户输入不在列表中时显示一条消息,并继续要求另一个输入!我做错了什么?

问题描述 投票:0回答:3

希望每个人都做得很好。我刚刚加入这个平台。所以,我刚刚开始从 YouTube 学习 python 大约一周左右。这是我的第一个程序,请告诉我我在这里做错了什么。我希望程序在用户输入不在列表中时显示消息,并继续要求另一个输入! 谢谢你。

numbers = [7,3,13,6,8,5,1,2,4,15,9,10,12,14,11]
new_list = []
while True:
    num = int(input("Enter any number from the list 'numbers': "))
    for i in numbers:
        if i < num:
            new_list.append(i)
            new_list.sort()
        elif num != i:
            print("Number doesn't exist in the list 'numbers'")
        break
    print(new_list)
python arrays list for-loop if-statement
3个回答
0
投票

这段代码可以完成这项工作:

numbers = [7,3,13,6,8,5,1,2,4,15,9,10,12,14,11]
not_in_list = True
while not_in_list:
    number = int(input("Enter any number from the list 'numbers': "))
    if number in numbers:
        not_in_list = False

0
投票

您问的问题并不完全是您在代码中尝试的问题。我无法理解创建新列表背后的想法。但一般来说,您可以使用嵌套函数来编写代码,如果之前的输入不是您想要的,则不断要求用户输入数据。 请记住,在这种情况下,您要在仅包含数字的列表中查找数字,您应该控制用户输入类型。例如,如果输入是字符串,则显示警告。

numbers = [7,3,13,6,8,5,1,2,4,15,9,10,12,14,11]
def ask_number():
    num = int(input("Enter any number from the list 'numbers': "))
    check_number(num)

def check_number(num):
    if num not in numbers:
        print("Number does not exist in the list")
        ask_number()
    else:
        print(f"found {num} in list")

ask_number()

0
投票

如果用户输入了列表中不存在的错误输入,此代码会在消息旁边接受输入:

numbers = [7,3,13,6,8,5,1,2,4,15,9,10,12,14,11]                                            
number = int(input("Enter any number from the list 'numbers': "))
run = True
if not number in numbers:
    while run:
        print("Number doesn't exist in the list 'numbers'")
        number = int(input("Enter any number from the list 'numbers': "))
        if number in numbers:
            run = False
© www.soinside.com 2019 - 2024. All rights reserved.