列表未输入第一个输入

list not entering first input

我是菜鸟,我正在研究这个 python 项目,但我无法获得用户在我的代码数组中输入的第一个输入。提前致谢 这是我的代码:

def ask():
    user_input = raw_input("Enter a number: ")
    user_input_array = []
    count = 0
    quits = 'done'

    while user_input != quits:
        user_input = raw_input("Enter a number: ")
        try:
            if type(user_input) == str:
                num = int(user_input)
                user_input_array.append(num)
                count = count + 1

        except:
            print("Invalid input")

    while user_input == quits:
        #user_input_array.remove('done')
        print ("done")
        print ('Count: ', count)
        print (user_input_array)
        break
ask()

那是因为你从来没有把它放在那里。

def ask():
    user_input = raw_input("Enter a number: ")
    user_input_array = [user_input] # Create the list with the original input
    ...

有了上面的内容,用户输入的第一个东西在创建列表的时候就放在了列表中。您可能需要在此之前进行检查

  def ask():
        user_input = raw_input("Enter a number: ")
        user_input_array = []
        count = 0 
        quits = 'done'

        while user_input != quits:
            user_input = raw_input("Enter a number: ")
            try:
                if type(user_input) == str:
                    num = int(user_input)
                    user_input_array.append(num)
                    count = count + 1 

            except:
                    if user_input == quits:
                            #user_input_array.remove('done')
                            print ("done")
                            print ('Count: ', count)
                            print (user_input_array)
                    else:
                            print("Invalid input")


    ask()

您没有将初始输入添加到数组中。相反,您进入循环并要求另一个输入并检查然后将其添加到数组中。您应该要求循环内的所有输入,因为这意味着您只需要一个 raw_input 和一个完成值检查。

一种常见的方法是进入无限循环,只有在读取值 done 时才退出。像这样

def ask():

    user_input_array = []

    while True:

        user_input = raw_input("Enter a number: ")

        if user_input == 'done':
            break

        try:
            user_input_array.append(int(user_input))    
        except ValueError:
            print("Invalid input")

    print ("done")
    print ('Count: ', len(user_input_array))
    print (user_input_array)

ask()

请注意,这达到了预期的效果,没有重复。你也不需要记录你添加了多少元素,因为列表有一个 len 函数会告诉你。